Назад | Перейти на главную страницу

Команда date со строкой форматирования не выполняется в cron под Linux

У меня есть следующий 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). Перед ними нужно поставить обратную косую черту.