1
我們有一臺RHEL Linux服務器,運行兩個程序,將其備份複製到另一臺運行Ubuntu Linux的服務器上。在cron作業中運行的「清理」腳本應該會刪除這些超過十天的備份,但它不起作用。事實上,即使手動運行它,我也無法使它工作。腳本是如下─清理Ubuntu服務器上的備份文件
#!/bin/bash
# bash shell script to cleanup jira backup files
# The script will remove files that are 10 days or older
#
# Remove jira backup files
for FILE in `find /usr/backup/jira -mtime +10`
do echo $FILE
/bin/rm -f $FILE 2>/dev/null
done
當我運行在命令prompt- ./cleanup_jira.sh什麼都不會發生這個腳本;我只是轉到命令提示符。我有root擁有所涉及的所有文件夾和文件。這是在幾年前由不同的用戶運行的,但顯然還沒有工作過一段時間,所以我修改了所有這些以root身份運行。當我嘗試運行它時,我沒有收到根郵件消息。
任何想法請回應。
感謝您的時間,
約翰·埃利斯
也許爲'rm'添加'-v'作爲反饋。 (或者用'-print -delete'代替'-exec ...'。) – Biffen
嗯,我很尷尬地說我找出了問題;爲了測試的目的,我將一些備份文件複製到了我的個人電腦上,然後當我將它們複製回來時,更新了「上次修改時間」的日期和時間,因此腳本沒有看到它們像實際上一樣陳舊。謝謝你的回覆,更好的腳本和建議!我唯一的防範是我不是一個scripter,並且只有很少的linux經驗,直到我接受這份工作。 – user3285143