세부정보 복사:
mkdir test && cd test
mkdir folder && cd folder
echo "#line1" > file
rsync -a -I . ..
echo "#line2" >> ../file
rsync -a -I . ..
산출:
../file
위의 rsync 명령으로 덮어써야 하므로 의 내용이 예상치 못한 것입니다. 그것은 단지 보여야한다#line1
more ../file
#line1
#line2
more file # <-- expected because we haven't edited this file
#line1
질문:
파일을 항상 덮어쓰고 싶습니다. 위에서 뭔가 잘못한 걸까요?
시스템 메시지:
시도한 Rsync 버전:rsync version 3.0.4 protocol version 30
그리고
rsync version 2.6.9 protocol version 29
SUSE Enterprise
Linux 3.0.101-71.1.10543.0.PTF.974263.72.1.csc-default x86_64
KDE 4.3.5
그리고
Mac OS X El Capitan (10.11)
답변1
플래그와 함께 별칭이 이미 설정된 경우 이는 매우 어리석은 질문임이 밝혀졌습니다 -u
.
\rsync -a . ..
가명을 탈출하려면 달려가면 됩니다 .
답변2
rsync 버전 3.0.9 프로토콜 버전 30을 사용하여 CentOS 7을 실행하고 단계를 수행하여 올바른 결과를 얻었습니다.
이 단계는 저에게 효과적이므로 아무런 문제가 없습니다. 그러나 이 옵션 없이 다시 실행해 볼 수 있습니다 -I
.
➜ /tmp$ mkdir test && cd test
➜ test$ mkdir folder && cd folder
➜ folder$ echo "#line1" > file
➜ folder$ cat file
#line1
➜ folder$ rsync -a -I . ..
➜ folder$ ls ..
file folder
➜ folder$ cat ../file
#line1
➜ folder$ echo "#line2" >> ../file
➜ folder$ cat ../file
#line1
#line2
➜ folder$ rsync -a -I . ..
➜ folder$ cat ../file
#line1
➜ folder$ rsync --version
rsync version 3.0.9 protocol version 30
답변3
버전 3.0.6에서는 예상대로 작동하는 것 같습니다. 저장소에서 업데이트된 rsync를 확인하겠습니다.
[user@server ~]$ mkdir test && cd test
[user@server test]$ mkdir folder && cd folder
[user@server folder]$
[user@server folder]$ echo "#line1" > file
[user@server folder]$ rsync -a -I . ..
[user@server folder]$ echo "#line2" >> ../file
[user@server folder]$ rsync -a -I . ..
[user@server folder]$ cat ../file
#line1
[user@server folder]$ cat file
#line1
동기화 정보
[user@server folder]$ rsync --version
rsync version 3.0.6 protocol version 30
시스템 메시지
CentOS 6.7 final
Linux server 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux