Cron задание на Ubuntu для php

Я использую Ubuntu на сервере, и я использую Putty для доступа. Я хочу создать cronjobs для моего php-сайта. Как я могу это сделать?

Related of "Cron задание на Ubuntu для php"

Если вы имеете в виду, что хотите, чтобы ваш php-сайт выполнял некоторые обычные задачи, существует два возможных способа.

1) Вы используете cron для регулярной вытяжки определенной страницы. Вы можете сделать это с помощью текстового браузера, например, lynx. Вы тянете свой скрипт так:

* * * * * /usr/bin/lynx http://yourhost.com/cron.php -dump > /dev/null

(Это будет вызывать каждую минуту. Таким образом, вы можете создать собственное расписание внутри своего приложения)

2) Вы вызываете свой скрипт с помощью интерпретатора php командной строки:

* * * * * /usr/bin/php /path/to/cron.php > /dev/null

В общем случае решение два лучше. Однако вам понадобится доступ к коробке. Cron в решении можно запускать с другого хоста, если вы не можете установить кран на хост.

Также будьте осторожны с общей ошибкой, используя версию командной строки php. В debian (и, возможно, других системах) могут быть отдельные файлы php.ini для cgi, cli и mod_php. Если вы настроили свою конфигурацию, убедитесь, что в командной строке php используется правильный. Вы можете проверить это с помощью:

/usr/bin/php -i | less

В ответ на комментарий димо я сделал некоторые ориентиры. Я назвал простой локальный php-скрипт (который просто «проверяет») 1000 раз с lynx, wget и 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) 

Сервер – lighttpd , php(fastcgi) с apc (в Mac OS X).

Оказывается, действительно, wget – лучший инструмент для работы относительно скорости.

Таким образом, результат php-cli не настолько удивителен, как другие методы повторно используют уже запущенный поток php с кешем opcode.

Таким образом, единственным реальным преимуществом использования php-cli является безопасность, поскольку скрипт не будет доступен извне, поскольку вы можете выставить его за пределы docroot.

(Этот тест, очевидно, не на 100% точным, но различия, на мой взгляд, совершенно очевидны)

Я полагаю, что вы хотите создать резервную копию своего сайта PHP? Отредактируйте crontab, используя:

 crontab -e 

Это запустит экземпляр vi, в котором вы можете отредактировать crontab, нажмите i для режима вставки. Затем вам необходимо ввести информацию, когда будет выполняться запись cron, и команда для запуска в это время, например:

 30 10 * * * tar -zcvf ./myphpsite.tar.gz /var/www/phpsite 

Таким образом, команда выше будет tar gzip ваш phpsite в / var / www / phpsite в 22:30 каждый день. Выйти и выйти из vi с помощью wq

См. Дополнительную информацию:

http://www.adminschoice.com/docs/crontab.htm