「10分」を任意の値に置き換えます。基本的にファイルが大きくない場合は、ファイルを移動したいと思います。コマンドラインまたはbashスクリプトでこれをどのように実行しますか?
解決しやすい解決策が好まれますcron
。
詳細:
- オペレーティングシステム: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
方法はさまざまです。
検索を使用する:
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分ごとに実行されます。