Использование% в команде cron
Поскольку % имеет особое значение для cron, как я могу использовать его как часть команды?
Я нашел эту страницу http://www.hcidata.info/crontab.htm, в которой упоминается трубопровод echo а также sed чтобы избежать % а затем удалите лишние \, но в моем случае команда date, который не принимает параметры через STDIN, так что это не работает:
echo '+\%Y' | sed -e 's|\\||g' | date
Я думаю, что могу создать специальный скрипт даты, который будет выводить дату в нужном мне формате, и вместо этого вызывать ее, но я все еще задаюсь вопросом, возможно ли сделать это непосредственно в команде cron.
Спасибо!
1 ответ
Справочная страница crontab(5) гласит:
Знаки процента (%) в команде, если они не экранированы обратной косой чертой (), будут заменены на символы новой строки, [...]
так что вы должны быть в состоянии избежать % символ с префиксом с обратной косой чертой \:
00 15 * * * user date '+\%Y'
\% последовательность обрабатывается cron поэтому оболочка увидит команду date '+%Y' который является правильным вызовом date,