我正在尝试使用以下代码在每个工作日每分钟crontab
创建一个新文件:.tar
*/1 * * * 1,2,3,4,5 tar -cf /home/user/Archiv/$(date +"%Y%m%d%H%M").tar /home/user/Textverarbeitung/ -P
这不管用。为什么?
答案1
cron
视为%
换行符。您需要使用转义符(即使用)\%
来获取%
中使用的文字date
。
因此你需要:
date +"\%Y\%m\%d\%H\%M"
或者您可以使用脚本并使用脚本中的所有命令并从中调用该脚本crontab
。
从man 5 crontab
:
命令中的百分号 (%) 除非使用反斜杠 (\) 进行转义,否则将更改为换行符,并且第一个 % 之后的所有数据将作为标准输入发送到命令。无法将单个命令行拆分为多行,就像 shell 的尾随“\”一样。
答案2
使用-\%
而不是%
cron 用作%
换行符。