Ответ 1
Это вопрос выхода из переменных:
* * * * * /usr/bin/touch /tmp/$(date +\%Y:\%m).log
# ^ ^
работал со мной.
От man 5 crontab
:
Значения Percent (%) в команде, если не сбрасываются с помощью обратного слэша (\), будут изменены на символы новой строки, а все данные после первого% будут отправлены команде в качестве стандартного ввода.
Итак,
*/25 * * * * /bin/bash script.sh > "/var/log/$(date +\%Y-\%m-\%d_\%H:\%M).log"
# ^ ^ ^ ^ ^
должен работать.
Примечание. Я использовал /bin/bash
вместо bash
.