
서비스를 통해 이상한 간격으로 파일을 받고 다른 폴더에 보관하기 전에 72시간 동안 한 폴더에서 사용할 수 있도록 해야 합니다. 이 프로세스를 자동화하고 싶습니다. 이상적으로 이는 새 파일이 있는지 "사용 중" 폴더를 감시하고, 파일 도착 시간을 기록한 다음, 3일 후에 해당 파일을 아카이브로 이동하는 서비스입니다.
현재 사용 중인 폴더의 전체 내용을 아카이브 폴더로 이동하기 위해 72시간마다 실행되는 crontab 항목을 실행하고 있습니다. 이로 인해 특정 파일의 가용성 창과 더 이상 필요하지 않은 파일 이동 사이에 동기화 문제가 발생합니다.
답변1
다음과 같이 작동합니다.
find /source/location -maxdepth 1 -mtime +3 -type f -exec mv "{}" /destination/location/ \;
작동 방식:
find
에서 항목을 찾을 것입니다/source/location
-maxdepth 1
하위 디렉터리는 무시하고 지정된 디렉터리로만 검색을 제한합니다.-mtime +3
결과는 3일로 제한됩니다.또는 그 이상-type f
결과를 파일로만 제한합니다.-exec
해당 결과에 대해 명령을 실행합니다. 이 경우에는mv
"{}"
의 결과는 어디로find
갈 것인가\;
find
전달된 명령이exec
완료되었음을 알려줍니다 .
이것을 cron 작업에 추가하고 원하는 경우 매시간 실행되도록 하세요. 72시간 이상 된 파일만 이동됩니다.