Как я могу выполнить сценарий SH в Crontab

У меня есть один простой .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

Какая-либо идея?

2
задан 22 December 2016 в 08:03

2 ответа

Если Ваш сценарий является исполняемым файлом, то у Вас не должно быть своего 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
4
ответ дан 2 December 2019 в 02:16

Спасибо всем, с Вашими предложениями я нашел ошибку. Я не использовал полные пути в crontab, и это было причиной.

0
ответ дан 2 December 2019 в 02:16

Другие вопросы по тегам:

Похожие вопросы: