1

Я пытаюсь создать запланированное задание, которое периодически запускает сценарий оболочки, и у меня возникают проблемы с его выполнением. Я даю ему следующую команду для запуска каждую минуту:

~/Desktop/foo/my_script

Но это никогда не работает. (Эта команда запускает сценарий оболочки через терминал без проблем.) Есть идеи, что я делаю не так? Спасибо!

Примечание: вот мой сценарий оболочки:

#!/bin/bash
sleep 15
date >> output.txt
{ time ./foo > /dev/null ; } 2>> output.txt

А вот строка cron:

* * * * * /home/joe/Desktop/foo/my_script # JOB_ID_3

2 ответа2

0

Планировщик, скорее всего, не знает, как расширяться ~ попробуйте вместо этого дать ему абсолютный путь.

РЕДАКТИРОВАТЬ, после того как решение найдено:

У меня была еще одна идея: возможно, cron игнорирует строку из-за всех *, но я не мог повторить это. Я обнаружил, что это справочная страница довольно бесполезна, но страница википедии на cron несколько полезна. Я собирался предложить использовать строку:

*/1 * * * * /home/joe/Desktop/foo/my_script # JOB_ID_3

так как это будет работать на */1 (то есть каждую минуту, которая делится на 1), если он продолжал сбой.

0

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

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