ファイルを別のフォルダにどのように移動できますか?ただし、10分後にファイルが変更されていない場合にのみ可能ですか?

ファイルを別のフォルダにどのように移動できますか?ただし、10分後にファイルが変更されていない場合にのみ可能ですか?

「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分ごとに実行されます。

関連情報