パイプ検索と移動コマンド出力をファイルに

パイプ検索と移動コマンド出力をファイルに

次のコマンドを実行していますが、出力はファイルに書き込まれません move.log。コマンドに何か抜けましたか?

find /db_backups/30_plus_days -type f -mtime +90 -exec mv {} /db_backups/90_plus_days/ >> /db_backups/move.log 2>&1 \;

ベストアンサー1

コマンドfindライン:

find /db_backups/30_plus_days -type f -mtime +90 -exec mv {} /db_backups/90_plus_days/ >> /db_backups/move.log 2>&1 \;

同じですか?

find /db_backups/30_plus_days -type f -mtime +90 -exec mv {} /db_backups/90_plus_days/ \; >>/db_backups/move.log 2>&1 

このようにコマンドを使用すると、find出力はまったく生成されないため、新しいデータはファイルに書き込まれませんmove.log

移動したファイルの名前を保存するには、-print前に以下を追加してください-exec

find /db_backups/30_plus_days -type f -mtime +90 -print -exec mv {} /db_backups/90_plus_days/ \; >>/db_backups/move.log 2>&1

またはより良い改行を使用してください(ただ読みやすくするため):

find /db_backups/30_plus_days \
    -type f -mtime +90 -print \
    -exec mv {} /db_backups/90_plus_days/ 2>&1 \; \
    >>/db_backups/move.log

おすすめ記事