2016-06-08 7 views
0

У меня есть хроны работают в форме:Касается ли хроны работы выходного файл

*/5 * * * * /path/to/script.sh >> /tmp/script.out 2>&1 

При перенаправлении выхода пустого echo «ы и добавляем его в выходном файл изменение даты изменения. Мой вопрос: если в выходном файле cron это происходит?

Я хотел бы знать это, чтобы проверить, когда файл был выполнен в последний раз, без необходимости писать в файл специально.

+0

Вы спрашиваете, обновляется ли время модификации '/tmp/script.out' каждый раз, когда запускается cronjob? Почему бы и нет? – jwodder

+0

его нужно легко запустить и проверить – pmod

+0

Да, потому что я ожидаю, что это произойдет, даже если эхо не произойдет. Но он не обновляется. – CMPSoares

ответ

1

Если ваш скрипт ничего не выводит, выходной файл не «тронут», то есть время модификации не обновляется. Но вы можете добавить «потрогать» явно в данном случае:

*/5 * * * * /path/to/script.sh >> /tmp/script.out 2>&1; touch /tmp/script.out 

Кстати, echoпустой выход на самом деле не пустой, он производит символ новой строки (т.е. LF = линия подачи):

$ echo | hexdump -c 
0000000 \n 
1

(уже прокомментировали:.. Если файл не существует, он создается (подкрашено) Когда он существует, он не прикоснулись)

Когда хроны включены (USR/пароль не заблокировано, не хроны не отрицали) Я бы доверял cron. Когда вы хотите увидеть, все ли работает, вы должны получить жизненный ритм из своего сценария (каталог и разрешения все еще действительны, no^M в конце shebang, никаких недействительных изменений или других зависимостей, которые не работают).
Лучший способ - вызвать файл со своего скрипта.