Mirki, co tutaj jest nie tak? Chciałem, żeby uruchamiał się ten skrypt PHP codziennie o 23 równo. Problem jest taki, że raz się wykonuje a raz nie :/ Dokładnie to 1/2 tak mniej więcej szans, że się nie wykona :/ #php #programowanie #wget #cron #crontab #informatyka #linux #serwer
a czym ogólnie może być spowodowane, że czasami się wykonuje, czasami nie? bot ogólnie wysyła wpis na pewne forum
i [Dzisiaj 23:19] BOT: test bota 23:19:01 i [Dzisiaj 23:22] BOT: test bota 23:22:01 i [Dzisiaj 23:24] BOT: test bota 23:24:01 i [Dzisiaj 23:25] BOT: test bota 23:25:01
jest ustawiony na każdą minutę każdej godziny (* * * * *) a wykonuje się raz co minutę a innym razem co dwie
edytory tekstu: vi, nano, mcedit, joe menedżer plików: mc przeglądarka internetowa: lynx narzędzia MySQL: mysql, mysqldump systemy kontroli wersji (tylko jako klient, brak możliwości tworzenia repozytoriów): cvs, svn, git archiwizacja plików: tar, gzip, bzip2, zip narzędzia sieciowe: wget, ftp, ssh, scp, rsync interpretery PHP: we wszystkich wersjach dostępnych na serwerze narzędzia PHP: composer
@Moris299: po prostu php /sciezka/do/pliku.php. Tylko uważaj na katalog roboczy (może najpierw jakieś cd musisz) i na to że CLI ma osobny php.ini który może być zupełnie inny od tego którego używa apache. no i oczywiście wszystkie zmiany configu w .htaccess nie są brane pod uwagę.
@Moris299: no i masz odpowiedź, na #crontab którego używasz nie można polegać
co za różnica czy curl czy wget czy jeszcze coś innego? :)
2>&1 - przekierowuje 2 (STDERR) na 1 (STDOUT), także jak masz >/dev/null to zarówno STDERR i STDOUT tam leci, cron wysyła maila jeśli polecenie miało jakiekolwiek wyjście a przekierowująć STDERR i STDOUT do /dev/null nie ma żadnego wyjścia
widzę dwa proste rozwiązania 1. kontroluj czas wykonania po
@marek22: jak robię przez ssh to nie ma żadnego błędu ( ͡°ʖ̯͡°) 100 razy mogę zrobić i za każdym razem jest ok może coś z cronem nie tak a nie z samą komendą? próbowałem sprawdzić przez zapisanie pliku którego nazwa to data ale mi nie idzie :V
echo "test" > $(date) jak to zmodyfikować, żeby działało?
Problem jest taki, że raz się wykonuje a raz nie :/
Dokładnie to 1/2 tak mniej więcej szans, że się nie wykona :/
#php #programowanie #wget #cron #crontab #informatyka #linux #serwer
Komentarz usunięty przez autora
jeszcze w internetach znalazłem taką poradę:
* * * * * wget -O - http://yoursite.com/tasks.php >/dev/null 2>&1
https://stackoverflow.com/questions/13259530/using-cron-jobs-to-visit-url
co dokładnie robi to "2>&1" ? jak to dodam na koniec to powinno pomóc?
A pliku bash nie utworzę bo to hosting www, cron jest jedną z opcji
Komentarz usunięty przez autora
0 7 * * * cd ~/apod && ./getapodpic.sh
bot ogólnie wysyła wpis na pewne forum
i [Dzisiaj 23:19] BOT: test bota 23:19:01
i [Dzisiaj 23:22] BOT: test bota 23:22:01
i [Dzisiaj 23:24] BOT: test bota 23:24:01
i [Dzisiaj 23:25] BOT: test bota 23:25:01
jest ustawiony na każdą minutę każdej godziny (* * * * *) a wykonuje się raz co minutę a innym razem co dwie
https://www.laohost.pl/pomoc/serwery-wirtualne/inne/zadania-cron
nie mogę używać curla, dostępne komendy to:
edytory tekstu: vi, nano, mcedit, joe
menedżer plików: mc
przeglądarka internetowa: lynx
narzędzia MySQL: mysql, mysqldump
systemy kontroli wersji (tylko jako klient, brak możliwości tworzenia repozytoriów): cvs, svn, git
archiwizacja plików: tar, gzip, bzip2, zip
narzędzia sieciowe: wget, ftp, ssh, scp, rsync
interpretery PHP: we wszystkich wersjach dostępnych na serwerze
narzędzia PHP: composer
curl http://mojadomena.pl/plik.php
i nic się nie dzieje, w logach apache też nie ma próby wejścia pod adres
php /sciezka/do/pliku.php
. Tylko uważaj na katalog roboczy (może najpierw jakieścd
musisz) i na to że CLI ma osobnyphp.ini
który może być zupełnie inny od tego którego używa apache. no i oczywiście wszystkie zmiany configu w .htaccess nie są brane pod uwagę.@kao3991: spróbuję teraz w ten sposób, dzięki ( ͡° ͜ʖ ͡°)
dam znać, czy pomoże
co za różnica czy curl czy wget czy jeszcze coś innego? :)
2>&1 - przekierowuje 2 (STDERR) na 1 (STDOUT), także jak masz >/dev/null to zarówno STDERR i STDOUT tam leci, cron wysyła maila jeśli polecenie miało jakiekolwiek wyjście a przekierowująć STDERR i STDOUT do /dev/null nie ma żadnego wyjścia
widzę dwa proste rozwiązania
1. kontroluj czas wykonania po
100 razy mogę zrobić i za każdym razem jest ok
może coś z cronem nie tak a nie z samą komendą?
próbowałem sprawdzić przez zapisanie pliku którego nazwa to data ale mi nie idzie :V
echo "test" > $(date)
jak to zmodyfikować, żeby działało?
@kao3991: w ssh jak