[+] Wget dla polece

Konfiguracja serwerów, usług, itp.
Tom:-)
Beginner
Posty: 289
Rejestracja: 01 grudnia 2008, 13:52
Lokalizacja: Zakopane

[+] Wget dla poleceń CRON

Post autor: Tom:-) »

Posiadam komendę do CRON:

Kod: Zaznacz cały

wget -q -O /dev/null http://adresstrony.pl/folder/cron.php>/dev/null 2>&1
opcja: oprócz błędów, nie wypisuje danych wyjściowych

Kod: Zaznacz cały

-O /dev/null
nie zapisuje plików na dysk

Co daje zapis:

Kod: Zaznacz cały

2>&1
oraz dlaczego jest użyty 2 razy:

Kod: Zaznacz cały

/dev/null
a właściwie:

Kod: Zaznacz cały

-O /dev/null
zamiast:

Kod: Zaznacz cały

-O http://adresstrony.pl/folder/cron.php>/dev/null
to jest dla mnie bardziej zrozumiałe
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Z tego co ja rozumiem:

Kod: Zaznacz cały

-O /dev/null
masz rację, dosłownie to wget ściąga plik do /dev/null, czyli w nicość.

Kod: Zaznacz cały

2>&1
To przekierowanie wyjścia błędów (stderr) do standardowego wyjścia (stdout). Jak napisałeś opcja -q powoduje, że będą wypisywane jedynie błędy, ale przy tej okazji korzysta się z innego strumienia (stderr). Strumień 1 to standardowe wyjście, strumień 2 to wyjście dla błędów.
Użycie:

Kod: Zaznacz cały

...>/dev/null
Przekierowuje standardowe wyjście do /dev/null, czyli w nicość. Jako, że jak już wyżej napisałem błędy zostały przekierowane na standardowe wyjście, w efekcie trafią do /dev/null.
Tom:-)
Beginner
Posty: 289
Rejestracja: 01 grudnia 2008, 13:52
Lokalizacja: Zakopane

Post autor: Tom:-) »

Rozbije to na 2 części żebym dobrze zrozumieć:
1.

Kod: Zaznacz cały

-O /dev/null9
nie zapisuje pliku na dysku
2.

Kod: Zaznacz cały

http://adresstrony.pl/folder/cron.php>/dev/null
pobiera plik w nicość

Jeśli to dobrze zrozumiałem to jedno wyklucza drugie. Jeśli nie pobiera (zrzuca do /dev/null) to po co ma opcja zapisywać w nicość, czy muszę bardziej poszerzyć horyzont myślowy? :p
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

wget ściąga pliki. Przełącznik -O (jest trochę bardziej skomplikowany, odsyłam na man wget) w wielkim uproszczeniu wskazuje plik do którego zapisane zostaną ściągnięte dane. W tym przypadku do /dev/null - czyli dane przepadają, nie są zapisywane na dysk.

To:

Kod: Zaznacz cały

...http://adresstrony.pl/folder/cron.php>/dev/null
oznacza przekierowanie standardowego wyjścia do /dev/null. Czyli informacje jakie program wypisze na standardowym wyjściu trafią w nicość.

W pierwszym przypadku przepada plik który ma zostać ściągnięty, w drugim przypadku dane, które miałyby zostać wypisane w terminalu.
Dlatego /dev/null użyty jest 2 razy.
Tom:-)
Beginner
Posty: 289
Rejestracja: 01 grudnia 2008, 13:52
Lokalizacja: Zakopane

Post autor: Tom:-) »

@Rafal_F potrafisz łopatą wytłumaczyć. Teraz zajarzyłem. Bardzo Ci dziękuję. Pewnie nie jednokrotnie będę na tym forum będę natrętnie dociekliwy, ale umieć znaczy zrozumieć :-)
ODPOWIEDZ