Следующий crontab не работает:
# TEST LINE DOES DOT RUN
*/1 * * * * /bin/echo 'test '`/bin/date +%Y-%m-%d` >> /tmp/test
Я также попытался запустить его с помощью:
SHELL=/bin/bash
Обновление: я думал, что обратные символы `были злодеями, но поскольку нижеприведенный ответ поясняет, что процент% был виновником!
В /bin/date +%Y-%m-%d вам нужно избежать каждого % с \ в соответствии с этой справочной страницей:
В поле «шестое» (остальная часть строки) указывается команда запустить. Вся командная часть строки, вплоть до символа новой строки или%, будет выполнена / bin / sh или оболочкой, указанной в переменной SHELL файла cron. Процентные знаки (%) в команде, если они не сбрасываются с помощью обратного слэша (), будут изменены на символы новой строки, а все данные после первого% будут отправлены команде в качестве стандартного ввода.В /bin/date +%Y-%m-%d вам нужно избежать каждого % с \ в соответствии с этой справочной страницей:
В поле «шестое» (остальная часть строки) указывается команда запустить. Вся командная часть строки, вплоть до символа новой строки или%, будет выполнена / bin / sh или оболочкой, указанной в переменной SHELL файла cron. Процентные знаки (%) в команде, если они не сбрасываются с помощью обратного слэша (), будут изменены на символы новой строки, а все данные после первого% будут отправлены команде в качестве стандартного ввода.