На этот вопрос уже есть ответ:
У меня есть следующий crontab:
# m h dom mon dow command
* * * * * /bin/date >> /tmp/date.log 2>&1
* * * * * /bin/date "+%F_%H-%M-%S" >> /tmp/date2.log 2>&1
Первый выполняется правильно .. запись текущая дата в /tmp/date.log
Вторая не работает. /tmp/date2.log
никогда не создается. Единственное отличие состоит в том, что вторая команда даты имеет строку форматирования в качестве параметра. Вне cronjob вторая команда даты ( / bin / date "+% F_% H-% M-% S"
) работает нормально.
В чем может быть причина такого поведения?
Моя система:
uname -a
Linux corsair 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
Distributor ID: LinuxMint
Description: Linux Mint 19.1 Tessa
Release: 19.1
Codename: tessa
Неэкранированные знаки процента в команде заменяются символами новой строки, см. crontab (5) . Перед ними нужно поставить обратную косую черту.