Команда с символами процента, не работающими в crontab

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

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

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

SHELL=/bin/bash

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

11
задан 23 January 2017 в 17:59

1 ответ

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

"шестое" поле (остальная часть строки) определяет команду, которая будет выполнена. Вся часть команды строки, до новой строки или символа %, будет выполняться/bin/sh или оболочкой, определенной в переменной SHELL cronfile. Знаки процента (%) в команде, если не оставлено с обратной косой чертой (), будут изменены в символы новой строки и все данные после того, как первый % будет отправлен в команду как стандартный вход.

13
ответ дан 23 November 2019 в 04:04

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

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