Scripting
如何將文件移動到另一個文件夾,但前提是它自 10 分鐘以來沒有被修改?
用任何值替換“10 分鐘”。基本上,如果文件不再增長,我只想移動文件。如何在命令行或 bash 腳本上執行此操作?
易於解決的解決方案
cron
是首選。細節:
- 作業系統:CentOS
- 到目前為止我所嘗試的:什麼都沒有,因為我什至不知道從哪裡開始
- 什麼樣的文件:目錄中的任何文件
這裡的一行命令:
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.
有很多方法。
使用查找:
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 分鐘執行一次。