PDA

Показать полную графическую версию : [решено] Cron, crontab и проблемы с исполнением скриптов


Negativ
13-08-2007, 12:08
Ситуация следующая:
1.
есть скрипты:
/usr/local/etc/opt/rs-ftp-daily.sh
/usr/local/etc/opt/rs-ftp-weekly.sh
/usr/local/etc/opt/rs-ftp-monthly.sh

содержимое:

#!/bin/sh

dest="/backup-ftp/ftp-daily/"
addr_src="backup@192.168.12.1::ftp"
passfile="--password-file=/usr/local/etc/rsyncd.scrt"

rsync -og --update --delete --recursive $passfile $addr_src $dest


все скрипты отличаются только переменной dest, т.е. меняется путь к директории.

2.
в crontab:

10 2 * * * root /usr/local/etc/opt/rs-ftp-daily.sh
55 11 * * 1 root /usr/local/etc/opt/rs-ftp-weekly.sh
40 2 1 * * root /usr/local/etc/opt/rs-ftp-monthly.sh


Тут понятно: rs-ftp-weekly.sh должен выполниться в понедельник в 11.55
В логах крона:

Aug 13 11:53:02 hostmas /usr/sbin/cron[614]: (*system*) RELOAD (/etc/crontab)
Aug 13 11:55:02 hostmas /usr/sbin/cron[77796]: (operator) CMD (/usr/libexec/save-entropy)
Aug 13 11:55:02 hostmas /usr/sbin/cron[77797]: (root) CMD (/usr/local/etc/opt/rs-ftp-weekly.sh)


Видно что скрип исполнился. НО!!! Результатов его работы не видно. Если запустить его ручками - все ОК!
Самое интересное это то, что скрипт который запускается каждый день rs-ftp-daily.sh делает свою работу нормально.

mar
13-08-2007, 13:49
Negativ,
rsync без указания полного пути => имхо под крон не отработает.

BuGfiX
13-08-2007, 15:39
согласен, добавьте полный путь к rsync, ну и еще для отлова ошибок можно использовать перенаправление вывода в файл.

Negativ
13-08-2007, 16:58
mar
Как всегда права.
На самом деле в кроне скрипты без абсолютного пути не срабатывают. А срабатывание одного из них было иллюзией.




© OSzone.net 2001-2012