1

У меня есть файл с именем Exim_queue_size в корневом каталоге. Он содержит одну строку:

exim -bpc | mail -s'Exim_queue_size' bert@example.com

Для него были установлены разрешения с помощью chmod +x, и, следовательно, он исполняемый.

Если я бегу ./Exim_queue_size , он отлично работает и отправляет по почте счетчик размеров очереди.

Если я загружаюсь для запуска в crontab, со строкой

0 3,6,9,12,15,18,21,0 * * * /root/Exim_queue_size

Я получаю электронное письмо с правильным названием, без подсчета.

Есть идеи, пожалуйста?

2 ответа2

3

Просто предположение, но exim может находиться в месте, которое не находится на вашем пути по умолчанию. И если exim не найден, пустое сообщение - это то, что сгенерирует ваш скрипт.

Когда вы входите в систему, у вас есть множество файлов, таких как .bashrc, которые добавляют каталоги к вашему пути. Но эти файлы конфигурации не все исходные при запуске cron. Попробуйте это в командной строке ...

$ which exim
/usr/local/somepath/exim

Затем используйте полученный полный путь в вашем скрипте ...

/usr/local/somepath/exim -bpc | mail -s'Exim_queue_size' bert@example.com
0

Я отредактировал исполняемый файл Exim_queue_size для чтения

/usr/bin/exim -bpc | mail -s'Exim_queue_size 'bert@example.com

по предложению Билла Хеллера, и в cron, запущенном в 3 часа ночи, была получена правильная почта. Задача решена. Спасибо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .