使用“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使用%
作为换行符。