다음 명령을 실행하고 있지만 출력이 파일에 기록되지 않습니다
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