다음과 같은 스크립트를 사용하여 오래된 파일을 다른 디렉터리로 이동하고 싶습니다.
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/ \;
이렇게 하면 귀하의 것과 중복됩니다이전 질문.