Echo Variable - Точно так же, другой вывод

Я написал сценарий оболочки со следующим содержанием:

#!/bin/bash
value=`cat test.txt`

echo "Output: $value" >> currentOutput.txt

Выполняя этот сценарий в оболочке, он корректно записывает значение в currentOutput.txt. При выполнении этого скрипта над /etc/crontab файл заполняется только "Output:".

Исполняющий пользователь в оболочке и crontab является пользователем root. Также владелец из "currentOutput.txt", "test.txt" и сценария является root. Я просто задаюсь вопросом о различном выводе между обычным выполнением и выполнением crontab.

Это моя запись в crontab:

*/5 * * * * root /bin/sh /var/www/testscript.sh

Какие-либо предложения?

2 ответа

Решение

Попробуйте использовать абсолютный путь к test.txtМаловероятно, что crontab использует тот же локальный каталог, что и вы, когда вы выполняете скрипт, и этот файл может не существовать.

Рабочий каталог, скорее всего, не является каталогом, в котором хранится ваш файл (например, /var/www). Попробуйте указать полный путь для test.txt,

Вы всегда должны быть максимально конкретными в заданиях cron, поскольку вся среда сильно отличается от вашей обычной оболочки.

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