rsync는 AppData를 제외하지만 Firefox 북마크를 포함합니까?

rsync는 AppData를 제외하지만 Firefox 북마크를 포함합니까?

cygwin 및 rsync를 사용하여 Windows 홈 디렉터리를 백업하고 싶습니다.

rsync.exe -vrt --delete --exclude=AppData "/cygdrive/C/Users/user1/" "/cygdrive/D/backup/"

보시다시피 제외했어요애플리케이션 데이터목차.

내 Firefox 북마크를 다음 경로에 포함시킬 수 있나요?

AppData/Roaming/Mozilla/Firefox/Profiles/*/places.sqlite

별표는 프로필 이름을 나타냅니다. Firefox는 그곳에서 임의의 이름을 생성하기 때문에 알 수 없습니다.

--exclude-from과 함께 제외 스크립트를 사용할 수 있습니까?

복사가 가능한 것으로 알고 있습니다위치.sqlitePower Shell을 사용하여 다른 폴더에 복사한 다음 해당 폴더를 백업하세요.

하지만 rsync를 직접 사용하는 것이 가능할 수도 있습니다.

답변1

거의 중복이네요rsync: 필터를 사용하여 최상위 디렉터리를 제외하지만 일부 하위 디렉터리는 포함합니다..

폴더를 찾을 수 있지만 파일을 제외한 모든 항목을 제외할 수 AppData있는 검색을 위해 폴더 트리를 포함해야 합니다 .places.sqlite

rsync --dry-run -av --prune-empty-dirs \
    --include '/AppData/Roaming/Mozilla/Firefox/Profiles/*/places.sqlite' \
    --include '*/' \
    --exclude '/AppData/***' \
    '/cygdrive/C/Users/user1/' '/cygdrive/D/backup/'

--prune-empty-dirs비어 있는 디렉토리로 대상이 채워지는 것을 중지하여 rsync복사 중인 파일을 보관하는 데 필요한 디렉토리만 생성됩니다. (이것이 기본 동작이 아닌 것이 좀 이상하지만 그렇지 않습니다.)

내 시스템에서는 대신 places.sqlite아래에 있으므로 그에 따라 제안된 명령을 조정했습니다. 예상한 대로 결과가 만족스러우면 삭제하세요.Profiles/*Profile/*--dry-run

답변2

또 다른 결정은 다음과 같습니다. 심볼릭 링크를 만듭니다. place.sqlite를 rsync 포함 범위(예: c:\places\*\places.sqlite)의 어딘가로 이동합니다.

mklink c:\places\*\places.sqlite AppData\Roaming\Mozilla\Firefox\Profile\*\places.sqlite

디렉터리의 경우에도 구문은 다음과 같습니다.

mklink /d <Link> <Target>

결과적으로 rsync는 필요한 모든 데이터를 복사하고 다른 데이터는 건너뜁니다.

답변3

먼저 다음 내용으로 include.txt 파일을 만듭니다.

+ AppData/Roaming
+ AppData/Roaming/Mozilla
+ AppData/Roaming/Mozilla/Firefox
+ AppData/Roaming/Mozilla/Firefox/Profiles
+ AppData/Roaming/Mozilla/Firefox/Profiles/*/places.sqlite
- AppData/*
- AppData/Roaming/*
- AppData/Roaming/Mozilla/*
- AppData/Roaming/Mozilla/Firefox/*
- AppData/Roaming/Mozilla/Firefox/Profiles/*/*

그런 다음 --include-from=include.txt 매개변수를 사용하여 rsync에서 사용합니다.

이 솔루션에는 --prune-empty-dirs가 필요하지 않으므로 빈 디렉터리도 백업할 수 있습니다. 또한 링크를 만들 필요도 없습니다.

관련 정보