Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam serdecznie,
chciałbym zapisywać co godzinę zawartość pewnej strony do pliku.
Znalazłem już w sieci podobny problem, który został opisany :
#!/bin/bash
date=`date +%Y-%m-%d__%H_%M_%S`;
wget http://twojastrona.com/page.html -O /home/bak/$date.html
http://twojastrona.com/page.html - To zamienisz na adres twojej strony
/home/bak/ - gdzie zachowywać dane
Nie zapomnij zmienić prawo pliku (chmod +x bak.sh)
bak.sh - to twój przed chwilą stworzony skrypt
I dalej z polecenia crona wykonujesz go każdych 15 minut
*/15 * * * * /home/bak/bak.sh
Niestety coś mi to nie chce działać. Niby cron przyjmuje polecenie, skrypt zapisany.
Po prostu nic się nie zapisuje.
Pozdrawiam
Offline
wi3z napisał(-a):
date=`date +%Y-%m-%d__%H_%M_%S`;
wget http://twojastrona.com/page.html -O /home/bak/$date.html
Czy jak ręcznie w powłoce wpisujesz kolejne linie skryptu to także nie działa ?
Ostatnio edytowany przez ba10 (2012-10-19 09:25:26)
Offline
Dla przykładu wget http://twojastrona.com/page.html -O /home/bak/index.html wykonuje się bez problemu.
Mówię tutaj o ręcznym wpisaniu do linii poleceń.
Offline
Pokaż wynik polecenia
crontab -l
Wykonujesz to dla użytkownika czy dla roota ?
I druga sprawa, że chciałem dokładnie byś wykonał dwie linie ze skryptu.
wi3z napisał(-a):
date=`date +%Y-%m-%d__%H_%M_%S`;
wget http://twojastrona.com/page.html -O /home/bak/$date.html
Choć może także dobrze by było byś wlepił ten skrypt, który chcesz wykonać, bo może jakaś literówka jest lub coś w tym stylu.
No i oczywiście skrypt ma odpowiednie uprawnienia do wykonania ?
Ostatnio edytowany przez ba10 (2012-10-19 15:58:43)
Offline
A takie coś:
#!/bin/bash date=`date +%Y-%m-%d__%H_%M_%S`; wget http://twojastrona.com/page.html -O /home/bak/${date}.html
EDIT:
dodatkowo podczas uruchamiania czegoś z cron polecam mieć dobrze skonfigurowane email, lub przejrzeć emaile z tego uzytkownika z jakiego wykonuje cron, lub przeglądać logi online
tail -f /var/log/syslog
Ostatnio edytowany przez djjanek (2012-10-19 17:28:33)
Offline
sleep 1h
Usypia konsolę na 1h, a potem co ma zrobić, a na końcu ./$0 (jeśli się nie mylę), który uruchomi twój program jeszcze raz
Od biedy jak nerdy gadają, cron, cron, cron
Fervi
Offline
Zamiast
*/15 * * * * /home/bak/bak.sh
Spróbowałbym
*/15 * * * * /bin/bash /home/bak/bak.sh
@fervi:
Co jest złego w cronie? Sleep 1h nie uśpi konsoli jak skrypt uruchomi się w tle.
@wi3z:
A jak ręcznie wywołasz skrypt to działa ?
Ostatnio edytowany przez Piotr3ks (2012-10-20 09:55:23)
Offline
Wszystkim dziękuję za pomoc. Jak się okazało przykłady, które podałem w pierwszym poście funkcjonują.
Problem leżał w tym, że próbowałem wykonać to na shellu. Widocznie coś tam nie grało.
Na domowym serwerze wszystko ruszyło i działa wyśmienicie. ;)
Powiedzie mi tylko, czy jest możliwość, aby skrypt nie zapisywał całej strony a tylko kolejne linie kodu?
Offline