次のスクリプトを使用して、古いファイルを別のディレクトリに移動したいと思います。
find /sourcedirectory -maxdepth 1 -atime +700 -type f -exec mv "{}" /destination/directory/ \;
うまく動作しますが、以前のように並べ替えられません。そのため、フォルダをミラーリングし、以前と同じようにフォルダ内のファイルを並べ替える方法を探しています。
それは可能ですか?
答え1
31日後のソースフォルダのファイルマネージャのみをrsyncしたい場合は、rsyncを結合して次の方法で見つけることができます。
rsync -Ravh $(find /path/to/folder/ -type f -mtime -31) /path/to/destination/folder
答え2
今はテストできませんが、試してみてください。
find /sourcedirectory/./ -maxdepth 1 -mtime +700 -print0 |
rsync -a --files-from=- --from0 --remove-source-files / /destination/directory/
実際にはサブディレクトリが考慮されないことを指定したので、-maxdepth 1
質問に記載されているコマンド以外には何も必要ありません。
find /sourcedirectory -maxdepth 1 -atime +700 -type f -exec mv "{}" /destination/directory/ \;
これはあなたのものと重複します前の質問。