방금 rsync 버전 3.0.9와 버전 3.1.0의 차이점을 발견했습니다.
명령 실행
$ rsync -a --delete --backup --backup-dir=../old source/ dest/
버전 3.1.0은 출력을 제공합니다.
Created backup_dir ../old/
백업 디렉터리에 파일이 복사되지 않은 경우에도 마찬가지입니다. 나는 보통 백업 디렉터리 이름에 현재 시간을 추가하는데, 이는 결국 빈 디렉터리가 많아진다는 의미입니다. rsync 버전 3.0.9에서는 백업 디렉터리가 필요할 때만 생성됩니다.
내 질문은 다음과 같습니다
- 이것이 예상되는 동작입니까? 그렇다면 빈 백업 디렉터리 생성을 비활성화할 수 있습니까?
- 버전 3.1.0과 함께 rsync 버전 3.0.9를 설치하여 하나는 rsync309, 다른 하나는 rsync310이라고 하고 rsync를 둘 중 하나에 연결하는 별칭을 가질 수 있습니다(제 경우에는 rsync 3.0.9를 계속해서 나는 이 새로운 행동이 짜증스럽다고 생각한다)?
답변1
예, 이는 의도적인 행위입니다.오류 번호 11423이 문제에 대한 정보는 버전 3.1.2에서 제출되었으며 다시 변경되었습니다.
https://bugzilla.samba.org/show_bug.cgi?id=11423#c12:
나는 여전히 전송 시작 시 최상위 백업 디렉터리에 대한 새로운 조기 검증을 선호하지만 필요할 때만 디렉터리를 생성하도록 대체하도록 설득되었습니다. 다가오는 3.1.2 버전에 대해 수정되었습니다.
대부분의 배포판은 아직 버전 3.1.2용 패키지를 제공하지 않지만 빠르고 쉽게 컴파일됩니다. Debian Jessie에서 다음을 수행했고 모든 것이 순조롭게 진행되어 새 버전을 다음 위치에 설치했습니다 /usr/local/bin
.
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar xvf rsync-3.1.2.tar.gz -C /tmp/
cd /tmp/rsync-3.1.2/
./configure
make
make install
데몬으로 사용하는 경우 init 스크립트는 전체 경로로 이를 호출할 수 있으므로 새 버전에 대한 링크로 바꿀 수도 있습니다.
/etc/init.d/rsync stop
mv /usr/bin/rsync /usr/bin/rsync.old
ln -si ../local/bin/rsync /usr/bin/rsync
/etc/init.d/rsync start
고쳐 쓰다:Debian Jessie를 사용하는 경우 실제로 다음에서 rsync 패키지를 설치할 수 있습니다.데비안 스트레치:
wget "http://ftp.ch.debian.org/debian/pool/main/r/rsync/rsync_3.1.2-1_amd64.deb"
dpkg -i rsync_3.1.2-1_amd64.deb