「10 分」を任意の値に置き換えます。基本的に、ファイルがそれ以上大きくならない場合のみファイルを移動します。コマンドラインまたは bash スクリプトでこれを実行するにはどうすればよいですか?
簡単に実行できるソリューションcron
が望ましいです。
詳細:
- OS: CentOS
- これまで試したこと:どこから始めればいいのか分からないので何もしない
- ファイルの種類: ディレクトリ内の任意のファイル
答え1
ここに 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
方法はたくさんあります。
find の使用:
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分ごとに実行します。