У меня есть один простой .sh сценарий:
#!/bin/bash
echo "Test1"
touch /home/john/test.txt
echo "Test2"
Это исполняемо и доступно (ugo+x). Если я запускаю этот скрипт, он работает как, я ожидал.
Но если я пытаюсь выполнить его в crontab, затем я не получаю результатов. Я вижу в журнале, то задание запускается, и я добираюсь (Никакой установленный MTA, отбрасывая вывод).
AFAIK - это сообщение не является ошибкой? Это просто означает, что у меня нет почты (или другой канал вывода)? Но почему нет никаких результатов сценария? BTW - в CRONTAB я использую следующую строку:
30 * * * * sh file.sh >> /home/john/log.log
Какая-либо идея?
Если Ваш сценарий является исполняемым файлом, то у Вас не должно быть своего crontab выполнение /bin/sh file.sh
.
кроме того, file.sh
, вероятно, не находится в каталоге crontab, работает. Вы предпочтете использовать /path/to/file.sh
Перенаправление Вашего вывода crontab, Вы захотите поймать stderr также. Поймав обоих stdout & stderr, я, кажется, вспоминаю, что crontab больше не жалуется на свою способность передать вывод.
30 * * * * /path/to/file.sh >> /home/john/log.log 2>&1
Спасибо всем, с Вашими предложениями я нашел ошибку. Я не использовал полные пути в crontab, и это было причиной.