rsync를 사용하여 이전 홈 폴더를 백업 드라이브에 동기화하겠습니다. rsync를 루트로 사용할 생각입니다. 복사한 파일 등의 소유권이 변경되지 않도록 하는 방법이 있나요?
답변1
-o
및 옵션을 사용할 수 있습니다 -g
. ~에서수동 rsync
( man rsync
):
-o
,--owner
소유자 유지(수퍼유저만 해당)
-g
,--group
예약된 그룹
한 단계 더 나아가 일반적으로 사용되는 옵션 은 / 옵션 rsync
입니다 . 이 옵션은 다음 옵션을 의미합니다.-a
--archive
-rlptgoD
-r
,--recursive
디렉토리로 재귀
-l
,--links
심볼릭 링크를 심볼릭 링크로 복사합니다.
-p
,--perms
권한 유지
-t
,--times
수정 시간을 유지
-D
--devices --specials
(장치 파일 유지, 특수 파일 유지)와 동일
답변2
"모든 것", 파일 내용, 파일 소유권 및 권한, 디렉터리, 심볼릭 링크 등을 보존하기 위해 다음 명령줄을 사용합니다. 이런 식으로 시스템을 새 드라이브에 복사하고 다른 컴퓨터에서 실행할 수 있었습니다. 글쎄요, 부트로더도 수정해야 했는데 파일 내용, 소유권, 권한이 잘 복사되었습니다.
- 소스 디렉터리의 후행 슬래시를 확인하고 에서 이에 대해 읽어보세요
man rsync
.
rsync -avz foo:src/bar/ /data/tmp A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination. You can think of a trailing / on a source as meaning "copy the contents of this directory" as opposed to "copy the directory by name", but in both cases the attributes of the containing directory are transferred to the contain‐ ing directory on the destination. In other words, each of the follow‐ ing commands copies the files in the same way, including their setting of the attributes of /dest/foo: rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo Note also that host and module references don’t require a trailing slash to copy the contents of the default directory. For example, both of these copy the remote directory’s contents into "/dest": rsync -av host: /dest rsync -av host::module /dest You can also use rsync in local-only mode, where both the source and destination don’t have a ’:’ in the name. In this case it behaves like an improved copy command.
-n
, "테스트 실행"으로 시작하여 모든 것이 올바른지 확인하세요.sudo rsync -Havn source/ target
옵션(
-n
)을 제거하고rsync
해당 작업을 수행하도록 하십시오.sudo rsync -Hav source/ target
대상의 모든 디렉터리/파일이 존재하고 최신인지 확인하고 업데이트해야 하는 항목만 복사합니다(백업 시나리오에서).
-H
하드 링크를 추적하지만(드라이브 공간이 절약됨) 복사 프로세스가 느려집니다(포함되지 않은 이유).-a
-a
파일 시스템에 있는 파일의 "모든 내용"(하드 링크 제외)을 보존하는 백업 목적의 표준 보관 옵션입니다.-v
복사할 모든 파일을 인쇄하는 고전적인 장황한 옵션입니다. 진행 상황을 모니터링하기 위해 선호할 수 있는 다른 옵션이 있습니다. 긴 콘텐츠를 끄는 것이 좋을 수도 있지만 초기 단계에서 모든 것이 예상대로 작동하는지 확인하는 것이 좋습니다.
답변3
나는 사용한다
sudo rsync -HavE /SOURCE /DEST
백업에 실행 가능한 bash .sh 스크립트가 있기 때문입니다.
-HavE라는 약어는 "HavEverything"을 기억하는 데 도움이 됩니다.
이 약어는 -HavEn
"HavEverything"을 안전하게 기억하는 데 도움이 됩니다.
-E, --executability 실행 가능성을 유지합니다.
@sudodus 답변 감사드립니다.
케빈