2015-12-02 7 views
0

У меня есть сценарий, который извлекает некоторые данные из удаленной базы данных и записывает их в текстовый файл. Этот текстовый файл используется для заполнения локальной базы данных.Планирование работы Crontab не работает

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

Не работает, если добавлен этот скрипт в crontab.

Crontab Expression:

0 * * * * /usr/bin/todb >>/usr/bin/mycommand.log 

Наблюдение: метка времени текстового файла будет меняться в назначенное время, но он не получает обновленную с записями (O байты) и применяется так же для mycommand.log файла также. ,

Bash сценария:

file="/usr/bin/todb.txt" 
if [ -f "$file" ] 
then 
rm /usr/bin/todb.txt 
fi 
engineers_list=(abc 123 hjk) 
for i in "${engineers_list[@]}" 
do 
    fing -s JKL "(([Duplicate-on] >= 06/01/2014 ) and [Engineer] = '$i')" -w Identifier,DE-manager,Engineer -D^>> /usr/bin/todb.txt 
done 
+0

Можете ли вы показать нам сценарий, который выполняется. Это может быть проблема относительного/абсолютного пути внутри самого скрипта – asimovwasright

+0

Вы уверены, что работает cron deamon? Попробуйте запустить 'pgrep cron' и убедитесь, что есть связанный номер. – vitozev

+0

Прошу показать скрипт '/ usr/bin/todb'. Используется ли ваш скрипт в некоторых версиях ENV? –

ответ

1

Выход в /usr/bin/todb.txt файле, а не в /usr/bin/mycommand.log.

/usr/bin/mycommand.log Прикосновение (и временная метка изменено). Bt весь выход перенаправляется на /usr/bin/mycommand.log.

Команда

/usr/bin/todb >> /usr/bin/mycommand.log 

перенаправляет только stdout к mycommand.log. Для перенаправления stdout и stderr попробовать:

/usr/bin/todb >> /usr/bin/mycommand.log 2>&1 

Я думаю, ваш сценарий не найти fing команды.

+0

вы корректный вывод будет направлен на todb.txt. Причина, по которой я добавил mycommand.log, чтобы проверить, что команда выполнена, или из-за чего-то получилось. Я меньше всего беспокоюсь о файле mycommand.log. Моя проблема с файлом todb.txt only.Independently, если я выполняю вышеприведенный скрипт, он успешно запускается без каких-либо сбоев. Но, если crontab не будет заполняться информацией о базе данных. –

+0

Каковы разрешения и права собственности на файл 'todb.txt', и под каким профилем пользователя вы планируете crontab? – asimovwasright

+0

rw-r-r - ... Даже если я изменю разрешение на 777, он автоматически изменится на rw-r-r. В любом случае, через root-пользователя только IM запускает скрипт. У него есть разрешение на запись. Планирование под пользователем root. –

Смежные вопросы