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
[i]http://twojastrona.com/page.html - To zamienisz na adres twojej strony
/home/bak/ - gdzie zachowywać dane[/i]
Nie zapomnij zmienić prawo pliku (chmod +x bak.sh)
bak.sh - to twój przed chwilą stworzony skrypt
[i]I dalej z polecenia crona wykonujesz go każdych 15 minut[/i]
*/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
[quote=wi3z]date=`date +%Y-%m-%d__%H_%M_%S`;
wget http://twojastrona.com/page.html -O /home/bak/$date.html[/quote]
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.
[quote=wi3z]date=`date +%Y-%m-%d__%H_%M_%S`;
wget http://twojastrona.com/page.html -O /home/bak/$date.html[/quote]
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
[b]@fervi[/b]:
Co jest złego w cronie? Sleep 1h nie uśpi konsoli jak skrypt uruchomi się w tle.
[b]@wi3z[/b]:
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
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00104 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.110.99' WHERE u.id=1 |
0.00073 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.110.99', 1732659470) |
0.00056 | SELECT * FROM punbb_online WHERE logged<1732659170 |
0.00084 | DELETE FROM punbb_online WHERE ident='54.36.148.24' |
0.00048 | SELECT topic_id FROM punbb_posts WHERE id=213156 |
0.00016 | SELECT id FROM punbb_posts WHERE topic_id=22153 ORDER BY posted |
0.00061 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=22153 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00082 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=22153 ORDER BY p.id LIMIT 0,25 |
0.00092 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=22153 |
Total query time: 0.00639 s |