我正在嘗試使用以下程式碼建立一個在每個工作日每分鐘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 用作%
換行符。