Bir yorumda yalnızca "200 OK" yanıtına ihtiyacınız olduğunu söylüyorsunuz.
Bu, bunlara göre bazı ek avantajlar ile çözüm sağlar
wget -O /dev/null -o /dev/null example.com
. Buradaki düşünce çıktıyı bir şekilde atmak değil, hiçbir çıktı oluşturmak değildir.
Yalnızca yanıta ihtiyacınız olduğunu, yerel dosyaya indirilen verilerin index.html dosyasının ilk önce indirilmesine gerek olmadığı anlamına gelir.
HTTP protokolünde, 'GET' komutu bir dokümanı indirmek için kullanılır . Bir belgeye, aslında belgeyi indirmek dışında her şeyi yapacak şekilde erişmek için özel bir 'HEAD' komutu vardır.
Bu görev için 'GET'i kullanırken, belge yerel olarak indirilir ve atılır. 'HEAD' kullanmak tam olarak ihtiyacınız olanı yapar, dokümanı ilk etapta aktarmaz. Her zaman tanım olarak 'GET' ile aynı sonuç kodunu döndürecektir.
Yöntemini kullanmak sözdizimi HEAD
ile wget
biraz garip: Biz seçeneğini kullanmanız gerekir --spider
. Bu bağlamda, istediğimiz şeyi yapar - 'GET' yerine 'HEAD' olan URL'ye erişin.
Yaptığı işlem hakkında ayrıntılı bilgi vermemek -q
için (sessiz) seçeneğini kullanabiliriz wget
.
Bunu birleştirmek, wget
ne stderr'e bir şey çıkartamaz ne de bir belge kaydeder.
wget -q --spider 'http://example.com/'
Çıkış kodu bize isteğin başarılı olup olmadığını söyler:
$ wget -q --spider 'http://example.com/'
$ echo $?
0
$ wget -q --spider 'http://example.com/nonexisting'
$ echo $?
8
Bir komut için crontab
, her iki durumda da çıktı olmaması gerçeği, bir hata çıktısını tekrar hata göstergesi olarak kullanabileceğiniz anlamına gelir.
Örnek komutunuz şuna değiştirildi:
*/5 * * * * wget -q --spider mysite.com
Bu aynı avantajlara sahiptir wget -O /dev/null -o /dev/null example.com
. Ek avantaj, yerel olarak üretilen ve atılan günlük kaydı ve belge çıktısının üretilmemesidir. Ya da elbette büyük fark belgeyi indirmek ve atmaktan kaçınmaktır index.html
,.
wget
, bir terminalden koşma ile başka türlü ilerleme çubuğunun görüntülenmesi olup olmadığı.