將“10 分鐘”替換為任意值。基本上我只想在文件不再增長時移動該文件。如何在命令列或 bash 腳本上執行此操作?
首選易於解決的解決方案cron
。
細節:
- 作業系統:CentOS
- 到目前為止我已經嘗試過:什麼都沒有,因為我不知道從哪裡開始
- 什麼樣的文件:目錄中的任何文件
答案1
這裡一行命令:
find /path/to/dir1 -type f ! -mmin -10 -exec mv {} /path/to/dir2 \;
替換-10
成你想要的任何內容,規則是:
+n for greater than n,
-n for less than n,
n for exactly n.
答案2
有很多方法。
使用查找:
if find some_directory -mmin +10 | grep "^filename$" ; then
mv filename somewhere_else
fi
另一種方法是計算 md5sum 並進行比較
touch .filename.md5
prev_md5=$(cat .filename.md5)
new_md5=$(md5sum filename)
if [ "$prev_md5" = "$new_md5" ] ; then
mv filename somewhere_else
fi
echo "$new_md5" > .filename.md5
每 10 分鐘運行一次。