cron
трактує %
як нові рядки. Вам потрібно використовувати escape it, тобто використовувати, \%
щоб отримати буквальне, %
як використовується date
.
Тож вам потрібно:
date +"\%Y\%m\%d\%H\%M"
Або ви можете використовувати скрипт і використовувати всі команди в скрипті і зателефонувати з нього crontab
.
Від man 5 crontab
:
Знаки відсотків (%) у команді, якщо не уникнути зворотної косої риски (\), будуть змінені в символи нового рядка, і всі дані після першого% будуть відправлені в команду як стандартне введення. Немає способу розділити один командний рядок на кілька рядків, як, наприклад, оболонка "\".