Автор Тема: Настройка Cron  (Прочитано 17555 раз)

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Настройка Cron
« : 02.03.2013 13:39:15 »
Хотелось бы увидеть FAQ по настройке Cron (crontab) для чайников. Примеров бы побольше.

В частности интересует, почему не работает (сами скрипты работают на ура), через хрон нет:
05 * * * * /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >/dev/null
*/5 * * * * /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >/dev/null

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Настройка Cron
« Ответ #1 : 02.03.2013 13:44:58 »
а это где написано ?

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Re: Настройка Cron
« Ответ #2 : 02.03.2013 14:07:26 »
а это где написано ?
etc/crontab

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Настройка Cron
« Ответ #3 : 02.03.2013 15:34:54 »
во-первых, в /etc/crontab ничего писать не следует без острой необходимости. Есть же /etc/cron.d.
во-вторых, формат неправильный: пользователь не задан (man 5 crontab).

в-третьих, но до этого потом дойдёт, надо не забыть про пользовательское окружение и возможное отсутствие путей для поиска программ, если они вызываться из скрипта будут.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Re: Настройка Cron
« Ответ #4 : 02.03.2013 19:09:12 »
Хотелось бы увидеть FAQ по настройке Cron (crontab) для чайников. Примеров бы побольше.
Чем не устраивает http://www.codenet.ru/webmast/php/cron.php ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Re: Настройка Cron
« Ответ #5 : 02.03.2013 19:16:11 »
Хотелось бы увидеть FAQ по настройке Cron (crontab) для чайников. Примеров бы побольше.
Чем не устраивает http://www.codenet.ru/webmast/php/cron.php ?
Спс, будем изучать.

Оффлайн fce

  • Завсегдатай
  • *
  • Сообщений: 249
  • ALT Linux, XBMC live, Ubuntu, Kubuntu, Android
    • Dansguardian+
    • Email
Re: Настройка Cron
« Ответ #6 : 05.03.2013 15:30:41 »
Хотелось бы увидеть FAQ по настройке Cron (crontab) для чайников. Примеров бы побольше.

В частности интересует, почему не работает (сами скрипты работают на ура), через хрон нет:
05 * * * * /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >/dev/null
*/5 * * * * /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >/dev/null

Используем
crontab -lдля просмотра
и
crontab -eдля редактирования

Проблема с правами или с окружением скриптов.
Во-первых, нужно проверить сам cron, запустив любое задание - например запись текущего времени в файл каждую минуту.
Во-вторых взять за правило указывать интерпретатор для скриптов.
как-то так
5 * * * * /bin/sh /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >/dev/null
*/5 * * * * /bin/sh /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >/dev/null
В-третьих, не посылайте весь вывод ваших скриптов в null, если что-то не работает, а перенаправьте вывод в файл на время тестирования.

5 * * * * /bin/sh /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >~/error_batch-daily.sh.log
*/5 * * * * /bin/sh /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >~/error_batch-5m.sh.log
Собственно в эти файлы ~/batch-5m.sh.log и ~/error_batch-daily.sh.log все ошибки и посыпятся.
По ошибкам уже можно будет разобраться, что исправить, и после успешного запуска уже можно изменить перенаправление ошибок, чтобы все посылалось в null.
« Последнее редактирование: 05.03.2013 15:37:44 от fce »
Безвыходных ситуаций не бывает, есть ситуации в которые нет входа. На каждого компьютерного гения найдётся свой хакер с винтом.

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Re: Настройка Cron
« Ответ #7 : 05.03.2013 16:26:05 »
[admin@ftp ~]$ crontab -l
no crontab for admin
[admin@ftp ~]$ su-
Password:
[root@ftp ~]# crontab -l
no crontab for root

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Re: Настройка Cron
« Ответ #8 : 05.03.2013 16:36:19 »
Cool_Lamer, дык вы сначала добавьте скрипт в крон, а потом просматривайте какие скрипты у вас в кроне крутятся :)
crontab /home/user/test.sh
Сноси Винду, переходи на Линукс ! :)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Настройка Cron
« Ответ #9 : 05.03.2013 17:18:05 »
[admin@ftp ~]$ crontab -l

создайте файл /etc/cron.d/www-batch с содержимым
05 * * * * apache2 /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >/dev/null
*/5 * * * * apache2 /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >/dev/null
Если надо, вместо пользователя apache2 укажите другого, root, например. Системные вещи к юзеру произвольному я бы не стал засовывать - через год забудется, не найдёте. Опять же, /etc бакапить можно централизованно, а бакапить /var/spool - странно.

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Re: Настройка Cron
« Ответ #10 : 30.09.2013 15:34:13 »
создайте файл /etc/cron.d/www-batch с содержимым
05 * * * * apache2 /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >/dev/null
*/5 * * * * apache2 /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >/dev/null
Сделал, не выполняет.
[root@ftp ~]# crontab /etc/cron.d/www-batch
"/etc/cron.d/www-batch":2: premature EOF
errors in crontab file, can't install.

В-третьих, не посылайте весь вывод ваших скриптов в null, если что-то не работает, а перенаправьте вывод в файл на время тестирования.
5 * * * * /bin/sh /var/www/vhosts/video/app/tasks/batch-daily.sh 2>&1 >~/error_batch-daily.sh.log
*/5 * * * * /bin/sh /var/www/vhosts/video/app/tasks/batch-5m.sh 2>&1 >~/error_batch-5m.sh.log
Собственно в эти файлы ~/batch-5m.sh.log и ~/error_batch-daily.sh.log все ошибки и посыпятся.
По ошибкам уже можно будет разобраться, что исправить, и после успешного запуска уже можно изменить перенаправление ошибок, чтобы все посылалось в null.
Куда сохранятся логи с ошибками в таком случае? /var/log/cron  ~/batch-5m.sh.log и ~/error_batch-daily.sh.log нет.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Настройка Cron
« Ответ #11 : 30.09.2013 16:25:38 »
1. ls -l /etc/cron.d/www-batch что показывает ? Хотя, возможно, vixe-cron на "-" в имени не очень хорошо реагирует.

2. /etc/cron.d/www-batch, действительно, не имеет отношения к crontab (и не должен).

3. "~" указывает на домашний каталог... Я бы в /tmp/error_batch-bla-bla писал, чтобы не искать по закаулкам.

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Re: Настройка Cron
« Ответ #12 : 30.09.2013 16:48:12 »
1. ls -l /etc/cron.d/www-batch что показывает ? Хотя, возможно, vixe-cron на "-" в имени не очень хорошо реагирует.

2. /etc/cron.d/www-batch, действительно, не имеет отношения к crontab (и не должен).

3. "~" указывает на домашний каталог... Я бы в /tmp/error_batch-bla-bla писал, чтобы не искать по закаулкам.
[root@ftp_djem ~]# ls -l /etc/cron.d/www-batch
-rw-r--r-- 1 root root 191 Сент 30 14:35 /etc/cron.d/www-batch
Права аналогичны mdamd и sysstat (которые имеются в данном каталоге).

- - -
Так надо да?
[root@ftp]# ls -l /etc/cron.d/www-batch
-rwxr--r-- 1 root root 197 Сент 30 15:47 /etc/cron.d/www-batch
« Последнее редактирование: 30.09.2013 17:41:11 от Cool_Lamer »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 104
Re: Настройка Cron
« Ответ #13 : 30.09.2013 18:29:27 »
[root@ftp_djem ~]# ls -l /etc/cron.d/www-batch
-rw-r--r-- 1 root root 191 Сент 30 14:35 /etc/cron.d/www-batch
Права аналогичны mdamd и sysstat (которые имеются в данном каталоге).
Ну, значит
mv /etc/cron.d/www-batch /etc/cron.d/wwwbatch

Оффлайн Cool_Lamer

  • Давно тут
  • **
  • Сообщений: 473
Re: Настройка Cron
« Ответ #14 : 30.09.2013 20:38:29 »
Ну, значит
mv /etc/cron.d/www-batch /etc/cron.d/wwwbatch
Нет реакции, логи пустые.

/var/log/cron
Sep 30 19:00:01 ftp_djem crond[413]: nss_ldap: could not search LDAP server - Server is unavailable
Sep 30 19:01:00 ftp_djem crond[448]: nss_ldap: could not search LDAP server - Server is unavailable
Sep 30 19:10:01 ftp_djem crond[759]: nss_ldap: could not search LDAP server - Server is unavailable
Sep 30 19:20:01 ftp_djem crond[1164]: nss_ldap: could not search LDAP server - Server is unavailable
Sep 30 19:30:01 ftp_djem crond[1559]: nss_ldap: could not search LDAP server - Server is unavailable
Sep 30 19:40:01 ftp_djem crond[2185]: nss_ldap: could not search LDAP server - Server is unavailable
« Последнее редактирование: 30.09.2013 20:46:39 от Cool_Lamer »