Używam Ubuntu na serwerze i używam Putty do dostępu. Chcę utworzyć cronjobs dla mojej witryny php. Jak mogę to zrobić?Praca Cron na Ubuntu dla php
Odpowiedz
Jeśli masz na myśli, że chcesz witryny php zrobić kilka regularnych zadań, istnieją dwa sposoby.
1) Za pomocą narzędzia cron można regularnie pobierać określoną stronę. Możesz to zrobić w przeglądarce tekstowej, np. ryś. Można wyciągnąć swój skrypt tak:
* * * * * /usr/bin/lynx http://yourhost.com/cron.php -dump > /dev/null
(Spowoduje to nazwać każdą minutę ten sposób można zbudować swój własny harmonogram wewnątrz aplikacji.)
2) Aby wywołać skrypt z linii poleceń php interpreter:
* * * * * /usr/bin/php /path/to/cron.php > /dev/null
Ogólnie rozwiązanie dwóch jest lepsza. Jednak będziesz potrzebować dostępu do skrzynki. Cron w rozwiązaniu można uruchomić z innego hosta, jeśli nie możesz zainstalować cronów na hoście.
Należy również pamiętać o typowej pułapce za pomocą wiersza polecenia w wersji php. W debian (i potencjalnie innych systemach) mogą istnieć oddzielne pliki php.ini dla cgi, cli i mod_php. Jeśli dostosowałeś swoją konfigurację, upewnij się, że php wiersza poleceń używa poprawnego. Można to sprawdzić w:
/usr/bin/php -i | less
W odpowiedzi na komentarz przez Dimo Zrobiłem kilka wzorców. Zadzwoniłem prosty skrypt php lokalnej (co po prostu echo "test") 1000 razy ryś, wget i php-cli:
kbsilver:temp kbeyer$ time . wget.sh
real 0m14.223s
user 0m2.906s
sys 0m6.335s
(Command: wget -O /dev/null "localhost/test.php"; 2> /dev/null)
kbsilver:temp kbeyer$ time . lynx.sh
real 0m26.511s
user 0m5.789s
sys 0m9.467s
(Command: lynx -dump "localhost/test.php"; > /dev/null)
kbsilver:temp kbeyer$ time . php_cli.sh
real 0m54.617s
user 0m28.704s
sys 0m18.403s
(Command: /opt/local/bin/php /www/htdocs/test.php > /dev/null)
serwer jest lighttpd
, php(fastcgi)
z APC (w systemie Mac OS X).
Okazuje się, że rzeczywiście wget jest najlepszym narzędziem do pracy w zakresie prędkości.
Dlatego wynik php-cli
nie jest zaskakujący, ponieważ inne metody wykorzystują już uruchomiony wątek php z pamięcią podręczną kodu.
Tak więc jedyną realną zaletą korzystania z php-cli jest bezpieczeństwo, ponieważ skrypt nie będzie dostępny z zewnątrz, ponieważ można go umieścić poza dokumentem.
(Test ten nie jest oczywiście w 100%, ale różnice są oczywiste, moim zdaniem)
Wyobrażam sobie, że wget jest lepszym narzędziem do tego niż rysie -dump – dimo414
Założę się, że chcesz wykonać kopię zapasową witryny PHP? Edycję crontab przy użyciu:
crontab -e
ten rozpocznie się wystąpienie VI, w którym można edytować crontab, naciśnij i dla trybu wstawiania. Następnie należy umieścić w informacji dla kiedy wpis cron będzie działać i polecenie do uruchomienia w tym czasie, na przykład:
30 10 * * * tar -zcvf ./myphpsite.tar.gz /var/www/phpsite
Więc komenda powyżej będzie tar gzip swoją phpsite w/var/www/phpsite na 22:30 każdego dnia. Wyjście i wyjść z vi : wq
Zobacz to do dalszego odniesienia:
- 1. Praca Cron nie może załadować gem
- 2. Edytory PHP dla Ubuntu
- 3. Praca logrotate cron nie obraca niektórych dzienników
- 4. xdebug dla php 7 na ubuntu 14.04
- 5. docker ubuntu cron -f nie działa
- 6. cron zadanie nie działa wewnątrz pojemnika Döcker na ubuntu
- 7. Zainstaluj php-zip na php 5.6 na Ubuntu
- 8. PHP: Wymagaj ścieżki nie działa dla zadania cron?
- 9. Praca z mostkiem Php-Java
- 10. Gdzie mogę pobrać źródło dla narzędzia cron?
- 11. Instalacja php kierowca datastax na ubuntu
- 12. Zaplanowane zadania (podobne do cron) w PHP
- 13. Wykonywanie skryptu PHP za pomocą zadania CRON
- 14. Jak uaktualnić PHP-FPM do PHP 5.5 na Ubuntu?
- 15. Dodaj 10-minutowe zadanie cron do pakietu Ubuntu
- 16. PHP - Cron Job Run na konkretne daty i czasu
- 17. zadanie php cron co 10 minut
- 18. Tworzenie zadania cron dla mysqldump
- 19. Jak zainstalować i skonfigurować php-config do php-config7 dla PHP7.0 na Ubuntu
- 20. Cron Zadania na serwerach zbalansowanych z obciążeniem
- 21. Instalacja zaćmienia php w Ubuntu
- 22. Jak skonfigurować zadanie Cron?
- 23. zainstaluj php70-gd na ubuntu
- 24. Gdzie błędy PHP są rejestrowane na serwerze Ubuntu?
- 25. Jak skonfigurować poddomeny dla Apache2 na Ubuntu?
- 26. Niech praca sekwencji dla listy
- 27. Cron nie na pojedynczego apostrofu
- 28. Cron Zadanie: Dołącz bieżącą datę do nazwy pliku przez Cron?
- 29. Instalacja PDO_MYSQL na PHP 5.1.6 przy użyciu PECL OS: UBUNTU
- 30. cron nie emituje do donohup.out
Należy na ServerFault. – hobodave
Prosimy również nie zadawać pytania więcej niż jeden raz, jeśli zdajesz sobie sprawę, że nie wyjaśniasz się poprawnie, kliknij link edycji swojego pytania i dodaj więcej informacji. – dimo414