Вопрос по date, linux, cron, crontab, bash – Почему знаки процента (%) не работают в crontab? [Дубликат]
На этот вопрос уже есть ответ здесь:
Чем отличается% в cron#ab? 1 ответЯ записываю файлы в журнал, запускаемый сценарием bash, используя cron. Вызов cron выглядит так:
*/25 * * * * bash scrip#.sh &g#; "/var/log/$(da#e +%Y-%m-%d_%H:%M).log"
Но когда я проверяю cron#ab, он записывает как
*/25 * * * * bash scrip#.sh &g#; "/var/log/$(da#e +).log"
И это никогда не пишет файл журнала. Есть ли что-то, что мне нужно изменить, чтобы cron написал дату?
1
ответ
* * * * * /usr/bin/touch /tmp/$(date +\%Y:\%m).log
# ^ ^
работал для меня.
Изman 5 crontab
:
Знаки процента (%) в команде, если они не экранированы обратной косой чертой (\), будут изменены на символы новой строки, и все данные после первого% будут отправлены команде в качестве стандартного ввода.
Так
*/25 * * * * /bin/bash script.sh > "/var/log/$(date +\%Y-\%m-\%d_\%H:\%M).log"
# ^ ^ ^ ^ ^
должно сработать.
Обратите внимание, я использовал/bin/bash
вместо простоbash
.