Konuyu Açan
#1
wget ile ayrıntılı çıktı alma
[quote]Sistem yöneticileri ve yazılım geliştirme süreçlerinde wget, basit dosya indirme komutunun ötesinde pek çok ayrıntılı seçeneğe sahiptir. Bu yazıda, çıktı üzerinde daha fazla kontrol sağlamak için sed, grep ve dosya sistemi ile entegrasyon açısından pratik yaklaşımları, ayrıntılı geri dönüşleri (log) nasıl elde edeceğinizi ve hata yönetimini ele alacağım. Amacımız, indirme işlemlerinin davranışını anlamak, gerektiğinde otomatikleştirmek ve sorunları hızlıca teşhis etmek için güvenilir çıktılar elde etmek.]
İlk bölümde, temel çıktı akışını anlamak kritik. wget, standart çıktıya (stdout) ilerleyen bilgilerle ilerlerken, -q, -nv gibi seçenekler üzerinden görünümü değiştirmemize olanak tanır. Ancak ayrıntılı bilgi, çoğu zaman -v veya -d ile sağlanır. -v (verbose) modu, sunucudan alınan yanıt başlıklarını ve HTTP durum kodlarını gösterir. -S veya --server-response ile de sunucu yanıt başlıklarını görmek mümkün olur. İçerik dağıtım ağları veya dinamik sunucu yanıtları söz konusu olduğunda başlıklar, sorun tespiti için kritik ipuçları sunar. Ayrıca --mirror ve --no-parent gibi seçeneklerle hedeflenen içerikleri ve klasör yapısını net bir şekilde takip etmek mümkün olur.
İş akışını daha güvenilir kılmak için çıktı yönlendirme stratejileri kullanmak gerekir. gibi bir komut, yeniden indirilmeyi ve dosya tipini daraltırken, -P ile çıktı dizinini belirler. Log kayıtlarını ayrıntılı tutmak için kullanımı, arka planda çalışırken ayrıntılı logları ayrı bir dosyada toplar. wget -i liste.txt ile birden çok URL’yi sıralı olarak işlemek de pratik bir yaklaşımdır; burada her indirme adımıyla ilgili metaveri loglanır ve gerektiğinde sed/grep ile filtrelenebilir.
Hata yönetimi ve yeniden deneme stratejileri, üretim ortamlarında kritik öneme sahiptir. gibi seçeneklerle geçici ağ hataları üzerinde dayanıklı bir iş akışı kurabiliriz. Ayrıca –best-effort veya –continue (var olanı sürdür) gibi parametrelerle kesintili indirmelerde verimin korunmasını sağlayabiliriz. Dosya bütünlüğü için –checksum-seedor veya indirmeden sonra md5sum gibi kontrolleri manuel olarak tetiklemek de yararlıdır.
Son olarak çıktı analizi için birkaç pratik örnek:
[ list]İndirme sırasında meydana gelen hataları tespit etmek için log dosyasını hızlı filtrelemek:[/list]
Bir sonraki paylaşımda, farklı durumlar için otomatik raporlama skriptleri ve cron tablosu üzerinden periyodik ayrıntılı çıktı alma senaryolarını tartışalım. Bu konudaki deneyimleriniz veya karşılaştığınız özel durumlar nelerdir?
[quote]Sistem yöneticileri ve yazılım geliştirme süreçlerinde wget, basit dosya indirme komutunun ötesinde pek çok ayrıntılı seçeneğe sahiptir. Bu yazıda, çıktı üzerinde daha fazla kontrol sağlamak için sed, grep ve dosya sistemi ile entegrasyon açısından pratik yaklaşımları, ayrıntılı geri dönüşleri (log) nasıl elde edeceğinizi ve hata yönetimini ele alacağım. Amacımız, indirme işlemlerinin davranışını anlamak, gerektiğinde otomatikleştirmek ve sorunları hızlıca teşhis etmek için güvenilir çıktılar elde etmek.]
İlk bölümde, temel çıktı akışını anlamak kritik. wget, standart çıktıya (stdout) ilerleyen bilgilerle ilerlerken, -q, -nv gibi seçenekler üzerinden görünümü değiştirmemize olanak tanır. Ancak ayrıntılı bilgi, çoğu zaman -v veya -d ile sağlanır. -v (verbose) modu, sunucudan alınan yanıt başlıklarını ve HTTP durum kodlarını gösterir. -S veya --server-response ile de sunucu yanıt başlıklarını görmek mümkün olur. İçerik dağıtım ağları veya dinamik sunucu yanıtları söz konusu olduğunda başlıklar, sorun tespiti için kritik ipuçları sunar. Ayrıca --mirror ve --no-parent gibi seçeneklerle hedeflenen içerikleri ve klasör yapısını net bir şekilde takip etmek mümkün olur.
İş akışını daha güvenilir kılmak için çıktı yönlendirme stratejileri kullanmak gerekir.
KOD
1wget -r -l 2 -np -A pdf -P /hedef/klasor http://ornek-site.com/icerik/KOD
1wget -b -o /loglar/wget.log http://örnek-adresiHata yönetimi ve yeniden deneme stratejileri, üretim ortamlarında kritik öneme sahiptir.
KOD
1wget --tries=5 --retry-connrefused --waitretry=5 -P /hedef/klasor http://etimesi/tez/icerik.zipSon olarak çıktı analizi için birkaç pratik örnek:
- Bir HTML indirme işleminin durum kodlarını ve sunucu yanıtlarını kaydetmek:
KOD
1wget -S --server-response -O indirme.html http://ornek-site.com/icerik/[ list]
KOD
1grep -i "ERROR" /loglar/wget.logBir sonraki paylaşımda, farklı durumlar için otomatik raporlama skriptleri ve cron tablosu üzerinden periyodik ayrıntılı çıktı alma senaryolarını tartışalım. Bu konudaki deneyimleriniz veya karşılaştığınız özel durumlar nelerdir?
