디렉터리의 증분 변경 사항 추출

디렉터리의 증분 변경 사항 추출

나는 그것을 원한다오직OSX에서 명령줄 도구를 사용하여 단일 디렉터리의 차등 백업(Continuous Integration Service에서 실행)

기본적으로 나는 물건(파일과 하위 디렉터리가 있는 파일과 하위 디렉터리 등)으로 가득 찬 디렉터리와 해당 디렉터리에 더 많은 물건을 추가하는 작업을 가지고 있습니다. 작업이 완료된 후 작업으로 추가된 모든 새 파일을 추출하고 싶습니다. (이 작업은 brew몇 가지 추가 소프트웨어를 설치하는 것 입니다 /usr/local. 모든 소프트웨어를 추출하고 싶습니다.추가의설치된 소프트웨어).

Linux에서는 다음과 같은 것을 사용합니다 GNU-tar.

 tar --create --file /dev/null --listed-incremental=data.snar ${BACKUPDIR}
 # run the job
 ...
 tar -cz --file backup.tgz --listed-incremental=data.snar ${BACKUPDIR}

불행히도 이것은 OSX에 있으므로 BSD-tar누락된 --listed-incremental플래그만 있습니다.

rsync또한 , 를 사용하는 것도 고려했습니다 . 예를 들면 다음과 같습니다.

rsync --delete --backup --backup-dir=backup.0 -a ${BACKUPDIR} /tmp/backup/
# run the job
...
rsync --delete --backup --backup-dir=backup.1 -a ${BACKUPDIR} /tmp/backup/

그러나 이는 내가 예상한 대로 수행되지 않는 것 같습니다. 작업이 파일을 삭제하면 해당 파일은 지정된 디렉토리에 있지만 --backup-dir표시되지 않습니다.오직작업에 추가된 파일...

정말 해결책을 원해요아니요설치를 요청하세요어느/usr/local/추가 소프트웨어(GNU-tar 포함)는 차이점을 얻으려는 실제 데이터 디렉토리( )를 방해할 가능성이 높습니다 .

답변1

macOS에서 GNU tar를 사용합니다. 동일한 소스를 기반으로 합니다. http://macappstore.org/gnu-tar/

관련 정보