Mówisz, że potrzebujesz tylko odpowiedzi „200 OK” w komentarzu.
Pozwala to na rozwiązanie z pewnymi dodatkowymi zaletami w stosunku do
wget -O /dev/null -o /dev/null example.com
. Chodzi o to, aby nie odrzucać wyników w jakikolwiek sposób, ale nie tworzyć żadnych wyników.
To, że potrzebujesz tylko odpowiedzi, oznacza, że dane pobrane do lokalnego pliku index.html nie muszą być pobierane w pierwszej kolejności.
W protokole HTTP do pobrania dokumentu służy polecenie „GET” . Aby uzyskać dostęp do dokumentu w sposób, który robi wszystko oprócz faktycznego pobrania dokumentu, istnieje specjalne polecenie „HEAD”.
Podczas korzystania z polecenia „GET” do tego zadania dokument jest pobierany i odrzucany lokalnie. Używanie „HEAD” robi dokładnie to, czego potrzebujesz, nie przenosi dokumentu w pierwszej kolejności. Zawsze zwróci ten sam kod wyniku, co z definicji „GET”.
Składnia użyć metody HEAD
ze wget
to trochę dziwne: musimy użyć opcji --spider
. W tym kontekście robi to, co chcemy - uzyskuje się dostęp do adresu URL za pomocą „HEAD” zamiast „GET”.
Możemy użyć opcji -q
(ciche), aby wget
nie wyświetlać szczegółowych informacji o tym, co robi.
Łącząc to, wget
nie wyprowadzi niczego do stderr ani nie zapisze dokumentu.
wget -q --spider 'http://example.com/'
Kod wyjścia informuje nas, czy żądanie powiodło się, czy nie:
$ wget -q --spider 'http://example.com/'
$ echo $?
0
$ wget -q --spider 'http://example.com/nonexisting'
$ echo $?
8
W przypadku polecenia in crontab
fakt, że w obu przypadkach nie ma danych wyjściowych, oznacza, że możesz ponownie użyć braku danych jako wskaźnika błędów.
Twoje przykładowe polecenie zostanie zmienione na:
*/5 * * * * wget -q --spider mysite.com
Ma to takie same zalety jak wget -O /dev/null -o /dev/null example.com
. Dodatkową zaletą jest to, że dane wyjściowe dziennika i dokumentu nie są generowane, zamiast generowane i odrzucane lokalnie. Lub oczywiście wielka różnica jest unikanie pobrać, a następnie odrzucić dokument index.html
.
wget
z terminala a innymi kwestiami jest to, czy wyświetlany jest pasek postępu.