使用“crontab”每分钟创建一次新存档

我正在尝试使用以下代码创建一个crontab ,每个工作日每分钟创建一个新的.tar文件:

 */1 * * * 1,2,3,4,5 tar -cf /home/user/Archiv/$(date +"%Y%m%d%H%M").tar /home/user/Textverarbeitung/ -P 

这不起作用。 为什么?

cron%视为换行符。 你需要使用转义它,即使用\%来获得date使用的文字%

所以你需要:

 date +"\%Y\%m\%d\%H\%M" 

或者您可以使用脚本并使用脚本中的所有命令并从crontab调用脚本。

来自man 5 crontab

除非使用反斜杠(\)进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。 无法将单个命令行拆分为多行,例如shell的尾部“\”。

使用\%而不是% – cron使用%作为换行符。