Cron
停止 cron 為備份腳本發送郵件?
我已經設置了一個備份腳本,以每小時使用 cron 備份我的 Minecraft 伺服器上的世界數據,但由於玩家不斷編輯世界,tar 告訴我文件在讀取時發生了變化。我在腳本中的 tar 添加了 –ignore-command-error ,當我手動執行它時,它會抑制任何錯誤,但是 cron 仍然會發送一條郵件消息,說文件在被讀取時被更改,並最終淹沒我的郵件,因為它是每小時執行一次。有人知道怎麼修這個東西嗎?這是腳本:
filename=$(date +%Y-%m-%d) cd /home/minecraft/Server/ for world in survival survival_nether survival_the_end creative superflat do if [ ! -d "/home/minecraft/backups/$world" ]; then mkdir /home/minecraft/backups/$world fi find /home/minecraft/backups/$world -mtime +1 -delete tar --ignore-command-error -c $world/ | nice -n 10 pigz -9 > /home/minecraft/backups/$world/$filename.tar.gz done
Cron 將嘗試發送一封電子郵件,其中包含執行命令時可能出現的任何輸出。從 cron 的手冊頁:
執行命令時,任何輸出都會郵寄給 crontab 的所有者(或者發送給 crontab 中 MAILTO 環境變數中指定的使用者,如果存在的話)。任何作業輸出也可以使用 -s 選項發送到 syslog。
因此,要為特定的 crontab 條目禁用它,只需擷取所有命令輸出並將其定向到文件或
/dev/null
.30 * * * * notBraiamsBackup.sh >/dev/null 2>&1