Автор Тема: Работа с cron в Debian Squeeze  (Прочитано 21129 раз)

0 Пользователей и 1 Гость просматривают эту тему.

viktor6

  • Прохожий
  • *
  • Сообщений: 5
    • Просмотр профиля
Работа с cron в Debian Squeeze
« : Вторник, 05 Июля, 2011, 08:37:21 »
Извените что не в тему но как у Squeeze обстоят дела из кроном ?
как было в lenny
создаю файл в кроне cs_reboot из таким содержимым
#Plusnet
0 5 * * *  viktor  /home/viktor/KS_servera/Plusnet/plusnet stop >/dev/null 2>&1
5 5 * * *  viktor  /home/viktor/KS_servera/Plusnet/plusnet start >/dev/null 2>&1
#Datasvit
5 5 * * *  viktor /home/viktor/KS_servera/Datasvit/datasvit stop >/dev/null 2>&1
15 5 * * * viktor /home/viktor/KS_servera/Datasvit/datasvit start >/dev/null 2>&1
#Gungame
10 5 * * * viktor  /home/viktor/KS_servera/GunGame/gungame stop >/dev/null 2>&1
25 5 * * * viktor  /home/viktor/KS_servera/GunGame/gungame start >/dev/null 2>&1
#stat
30 * * * * root /home/viktor/KS_servera/psychostats_plusnet/stats.pl -v >/dev/null 2>&1
59 * * * * root /home/viktor/KS_servera/psychostats_data/stats.pl -v >/dev/null 2>&1
10 * * * * root /home/viktor/KS_servera/psychostats_gungame/stats.pl -v >/dev/null 2>&1
и все работал, а вот сейчас в Squeeze он перестал запускаться
Помогите пожалуйста

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: Работа с cron в Debian Squeeze
« Ответ #1 : Вторник, 05 Июля, 2011, 08:47:29 »
А что по этому поводу "говорят" логи крона?
Ранее крона в Squeeze не касался, сейчас спробну что-нить в нём запустить и проверить проблему.
*nix - свобода мысли, свобода творчества!

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: Работа с cron в Debian Squeeze
« Ответ #2 : Вторник, 05 Июля, 2011, 10:16:02 »
1.
В Squeeze работает cron Пола Викси (Paul Vixie) и правила из Lenny должны работать и в Squeeze.

2.
Собрал простейшую задачу:
/etc/cron.d/process1
*/5 * * * * root /root/process2 > /dev/null 2>&1
/root/process2
#!/bin/bash
date >> /root/test.txt
exit 0

Некоторые дополнительные действия:
# cd /root
# touch test.txt      -- создание тестового файла
# /etc/init.d/cron stop   --  рестарт крона (ибо иногда не перечитывает каталог /etc/cron.d )
# /etc/init.d/cron start

Всё отработало нормально. В логах:
...
Jul  5  15:55:01 debian-squeeze /USR/SBIN/CRON[1326]:  (root) CMD (/root/process2 > /dev/null 2>&1)
...

3.
Всегда выношу лог крона в /var/log/cron.log, по умолчанию в Debian все логи пишутся в кучу - в /var/log/syslog
Для распределения, правим конфиг крона /etc/rsyslog.conf  и рестартуем его.
Изменения в  /etc/rsyslog.conf
======
...
###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none,cron.none      -/var/log/syslog
cron.*            /var/log/cron.log
daemon.*         -/var/log/daemon.log
kern.*            -/var/log/kern.log
lpr.*            -/var/log/lpr.log
mail.*            -/var/log/mail.log
user.*            -/var/log/user.log
....
=====
В строку с *.*  добавить cron.none - чтобы в syslog не писала и раскомментировать строку с cron.*

4. Что может быть?
- возможно в конце файла с правилами крона нет пустой строки;
- если в одном файле много правил, не исключён вариант, ошибки в синтаксисе файла (или опциях) и крон просто его не обрабатывает, хотя сам крон поддерживает множественные правила в одном файле;
- хоть в мануале и написано что крон сам проверяет каталог /etc/cron.d на предмет изменений, как показывает практика, будет лучше рестартовать крон принудительно.
« Последнее редактирование: Вторник, 05 Июля, 2011, 10:17:49 от vovka »
*nix - свобода мысли, свобода творчества!

viktor6

  • Прохожий
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Работа с cron в Debian Squeeze
« Ответ #3 : Вторник, 05 Июля, 2011, 17:57:57 »
все точь в точь сделал крон твою задачу не выполнил и логи перевел вот что они пишут
Jul  5 17:18:47 debian anacron[1305]: Anacron 2.3 started on 2011-07-05
Jul  5 17:18:48 debian anacron[1305]: Will run job `cron.daily' in 5 min.
Jul  5 17:18:48 debian anacron[1305]: Jobs will be executed sequentially
Jul  5 17:19:26 debian /usr/sbin/cron[2041]: (CRON) INFO (pidfile fd = 3)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (CRON) STARTUP (fork ok)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (*system*myac_updates) WRONG INODE INFO (/etc/cron.d/myac_updates)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (*system*myactools) WRONG INODE INFO (/etc/cron.d/myactools)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (*system*process1) WRONG INODE INFO (/etc/cron.d/process1)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (*system*nod32) WRONG INODE INFO (/etc/cron.d/nod32)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (*system*cs_reboot) WRONG INODE INFO (/etc/cron.d/cs_reboot)
Jul  5 17:19:26 debian /usr/sbin/cron[2042]: (*system*myacsrv_check) WRONG INODE INFO (/etc/cron.d/myacsrv_check)
Jul  5 17:19:27 debian /usr/sbin/cron[2042]: (*system*anacron) ERROR (Missing newline before EOF, this crontab file will be ignored)
Jul  5 17:19:27 debian /usr/sbin/cron[2042]: (CRON) INFO (Running @reboot jobs)
Jul  5 17:20:01 debian /USR/SBIN/CRON[3195]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/null; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
Jul  5 17:20:01 debian /USR/SBIN/CRON[3196]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
« Последнее редактирование: Вторник, 05 Июля, 2011, 18:23:48 от viktor6 »

viktor6

  • Прохожий
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Работа с cron в Debian Squeeze
« Ответ #4 : Среда, 06 Июля, 2011, 01:08:34 »
Всем спасибо нудно в конце задачи
*/5 * * * * root /root/process2 > /dev/null 2>&1 оставит пробел  ;D

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: Работа с cron в Debian Squeeze
« Ответ #5 : Среда, 06 Июля, 2011, 05:38:31 »
Jul  5 17:19:27 debian /usr/sbin/cron[2042]: (*system*anacron) ERROR (Missing newline before EOF, this crontab file will be ignored)Ага, вот оно.  ;)
Не раз спотыкался на этом в кроне и фстабе.
*nix - свобода мысли, свобода творчества!

viktor6

  • Прохожий
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Работа с cron в Debian Squeeze
« Ответ #6 : Суббота, 03 Сентября, 2011, 18:01:56 »
еще хотел спросить по поводу крона
добавляю такую задачу как я понял эта задача должна выводить сообщения в центре монитора
0-59 * * * * root echo "HELLO"вот что логи говорят
Sep  3 17:00:02 debian /USR/SBIN/CRON[8665]: (root) MAIL (mailed 1 byte of output; but got status 0x0001, #012)
Sep  3 17:01:01 debian /USR/SBIN/CRON[9486]: (root) CMD (echo "HELLO" )
Sep  3 17:01:02 debian /USR/SBIN/CRON[9485]: (root) MAIL (mailed 1 byte of output; but got status 0x0001, #012)

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: Работа с cron в Debian Squeeze
« Ответ #7 : Воскресенье, 04 Сентября, 2011, 09:09:13 »
Цитировать
0-59 * * * * root echo "HELLO"
Не должна выводить. Предполагаю что получится так:
1. Крон запустит задачу.
2. Задача вернёт "HELLO" в стандартный выходной поток (stdout).
3. Так как задача запускается в виде дочернего процесса и в фоновом режиме, данные потока вернутся cron`у
4. cron, в свою очередь, эти данные поместит в mail-сообщение root`у на локальной машине, как результат работы дочернего процесса.

Чтобы результат выполнения дочернего процесса был отправлен в лог-файл или ещё куда, его нужно перенаправить принудительно. Вот пример задания на запуск mrtg:
# */5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
Собственно перенаправление делается этими командами:
2>&1 | tee -a /var/log/mrtg/mrtg.log
- это значит данные из стандартного потока ошибок (2) объединить с данными стандартного вывода (1) и отправить команде tee, которая добавит данные в виде строк к файлу " /var/log/mrtg/mrtg.log".
*nix - свобода мысли, свобода творчества!

viktor6

  • Прохожий
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Работа с cron в Debian Squeeze
« Ответ #8 : Воскресенье, 04 Сентября, 2011, 11:04:35 »
Спасибо значить эта тема уже не актуальна :(
http://ru.wikipedia.org/wiki/Cron

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: Работа с cron в Debian Squeeze
« Ответ #9 : Воскресенье, 04 Сентября, 2011, 11:52:31 »
А всё-же какая задача-то ставится? Может есть и другие методы её реализации?  ;)
*nix - свобода мысли, свобода творчества!