Linux
管道查找和移動命令輸出到文件
我正在執行以下命令,輸出不會進入
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 \;
你的
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
文件。如果要儲存已移動文件的名稱,請
-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