我在linux機器上運行某種服務器,並使用簡單的bash腳本每隔3天刪除一次文件,每7天刪除一些文件。我使用find命令來做到這一點。但是我的文件被定期保存,這意味着最後一次修改日是當天。所以文件永遠不會被刪除。第一次只爲我工作,因爲它符合條件。我找不到使用創建日期而不是修改日期來刪除這些文件的方法。如何刪除具有X天生命週期而不是上次修改的文件。這是否可能? Linux
這裏是我的簡單腳本:
#!/bin/sh
while true
do
java -server file.jar nogui
echo ">$(tput setaf 3)STARTING REBOOT$(tput sgr0) $(tput setaf 7)(Ctrl+C To Stop!)$(tput sgr0)"
find /folder/* -mtime +7 -exec rm -rf {} \;
find /folder/* -mtime +3 -exec rm -rf {} \;
find /logs/* -mtime +1 -exec rm -rf {} \;
echo ">Rebooting in:"
for i in 5 4 3 2 1
do
echo ">$i..."
sleep 1
done
done
如果有人能幫助我,我會很感激!
你在'find'中有'-ctime'選項以及... –
@ Jean-FrançoisFabre,'ctime'不是創建時間。 –
Linux不會跟蹤文件的「創建日期」。 @ Jean-FrançoisFabre跟蹤inode更改時間的'-ctime'參數,每次更新文件時也會更改此時間。 – larsks