Добавление даты в файл резервного копирования cronjob? [dубликат]

Следующий crontab не работает:

# TEST LINE DOES DOT RUN */1 * * * * /bin/echo 'test '`/bin/date +%Y-%m-%d` >> /tmp/test

Я также попытался запустить его с помощью:

SHELL=/bin/bash

Обновление: я думал, что обратные символы `были злодеями, но поскольку нижеприведенный ответ поясняет, что процент% был виновником!

10
задан 24 January 2017 в 04:59

2 ответа

В /bin/date +%Y-%m-%d вам нужно избежать каждого % с \ в соответствии с этой справочной страницей:

В поле «шестое» (остальная часть строки) указывается команда запустить. Вся командная часть строки, вплоть до символа новой строки или%, будет выполнена / bin / sh или оболочкой, указанной в переменной SHELL файла cron. Процентные знаки (%) в команде, если они не сбрасываются с помощью обратного слэша (), будут изменены на символы новой строки, а все данные после первого% будут отправлены команде в качестве стандартного ввода.
12
ответ дан 18 July 2018 в 13:38

В /bin/date +%Y-%m-%d вам нужно избежать каждого % с \ в соответствии с этой справочной страницей:

В поле «шестое» (остальная часть строки) указывается команда запустить. Вся командная часть строки, вплоть до символа новой строки или%, будет выполнена / bin / sh или оболочкой, указанной в переменной SHELL файла cron. Процентные знаки (%) в команде, если они не сбрасываются с помощью обратного слэша (), будут изменены на символы новой строки, а все данные после первого% будут отправлены команде в качестве стандартного ввода.
12
ответ дан 24 July 2018 в 20:13

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

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