rsync를 사용할 때 어떤 파일이 복사되었고 중복되어 삭제되었는지, time stamp가 다른것이 있는지, 복사된 파일이 디렉토리인지, 일반 파일인지, 로컬로 복사되었는지 원격지로 복사되었는지 등등 rsync 동작을 확인할 수 있는 절차가 있습니다. 바로 rsync logging 입니다.
rsync logging의 예를 들어보겠습니다.
# rsync -avhz --delete --progress -i -h 192.168.35.85:/tmp/* . --log-file=rsync3.log
# --delete옵션은 원격지 또는 로컬의 중복된 파일이 있을 경우 삭제하는 옵션
# --log-file=rsync3.log 작업 내역을 로그 파일에 저장한다.
[root@rhel7_node01 tmp]# vi rsync.log
2019/06/22 11:47:08 [7577] receiving file list
2019/06/22 11:47:08 [7577] *deleting test/test/{1235]
2019/06/22 11:47:08 [7577] *deleting test/test/{12345}
2019/06/22 11:47:08 [7577] *deleting test/test/[12345]
2019/06/22 11:47:08 [7577] *deleting test/test/
2019/06/22 11:47:08 [7577] *deleting test/.font-unix/
2019/06/22 11:47:08 [7577] *deleting test/.XIM-unix/
2019/06/22 11:47:08 [7577] *deleting test/.X11-unix/
2019/06/22 11:47:08 [7577] *deleting test/.Test-unix/
2019/06/22 11:47:08 [7577] *deleting test/.ICE-unix/
2019/06/22 11:47:08 [7577] *deleting test/test.txt
2019/06/22 11:47:08 [7577] *deleting test/rsync.log
2019/06/22 11:47:08 [7577] *deleting test/ddfile5
2019/06/22 11:47:08 [7577] *deleting test/ddfile2
2019/06/22 11:47:08 [7577] *deleting test/ddfile
2019/06/22 11:47:08 [7579] .d..t...... .ICE-unix/
2019/06/22 11:47:08 [7579] .d..t...... .Test-unix/
2019/06/22 11:47:08 [7579] .d..t...... .X11-unix/
2019/06/22 11:47:08 [7579] .d..t...... .XIM-unix/
2019/06/22 11:47:08 [7579] .d..t...... .font-unix/
2019/06/22 11:47:08 [7579] .d..t...... test/
2019/06/22 11:47:08 [7579] cd+++++++++ test/1/
2019/06/22 11:47:08 [7579] cd+++++++++ test/2/
2019/06/22 11:47:08 [7579] cd+++++++++ test/3/
2019/06/22 11:47:08 [7579] cd+++++++++ test/4/
2019/06/22 11:47:08 [7579] cd+++++++++ test/5/
2019/06/22 11:47:08 [7579] cd+++++++++ test/;/
2019/06/22 11:47:08 [7579] cd+++++++++ test/{}/
2019/06/22 11:47:08 [7579] sent 72 bytes received 441 bytes 342.00 bytes/sec
2019/06/22 11:47:08 [7579] total size is 563.20M speedup is 1,097,855.77
rsync logging을 보면 rsync가 어떻게 동작하는지 이해하기 수월합니다.
천천히 다시 로깅을 살펴 보겠습니다.
rsync -avhz --delete --progress -i 192.168.35.85:/tmp/* . --log-file=rsync3.log
2019/06/22 12:09:49 [8083] receiving file list
2019/06/22 12:09:49 [8083] *deleting test/wtpowepowe <--- ./test의 하위 파일들이 원격지와 맞지않아 삭제 하였음.
2019/06/22 12:09:49 [8083] *deleting test/sdfsdf
2019/06/22 12:09:49 [8083] *deleting test/34
2019/06/22 12:09:50 [8085] >f+++++++++ ddfile <--- 원격지와 동일하게 파일(f)생성
2019/06/22 12:09:50 [8085] >f+++++++++ ddfile2
2019/06/22 12:09:53 [8085] >f+++++++++ ddfile5
2019/06/22 12:09:53 [8085] >f.st...... test.txt <--- 원격지에서 로컬로 동기화 중 test.txt(f) 파일의 타임스탬프(t), 용량(s)이 맞지 않는 것을 확인시키고 동기화함.
2019/06/22 12:09:53 [8085] .d..t...... test/ <--- ./test 디렉토리(d)의 타임스탬프(t) 변경 후
2019/06/22 12:09:53 [8085] cd+++++++++ test/1/ <--- 하위 파일들을 원격지와 동일하게 디렉토리 (d) 생성(c) "+++"<생성표시
2019/06/22 12:09:53 [8085] cd+++++++++ test/2/
2019/06/22 12:09:53 [8085] cd+++++++++ test/3/
2019/06/22 12:09:53 [8085] cd+++++++++ test/4/
2019/06/22 12:09:53 [8085] cd+++++++++ test/5/
2019/06/22 12:09:53 [8085] cd+++++++++ test/;/
2019/06/22 12:09:53 [8085] cd+++++++++ test/{}/
2019/06/22 12:09:53 [8085] sent 154 bytes received 535.36K bytes 63.00K bytes/sec
2019/06/22 12:09:53 [8085] total size is 537.11M speedup is 1,027.05
stack overflow 커뮤니티에 아주 좋은 예시가 있네요
backup - What does f+++++++++ mean in rsync logs? - Stack Overflow
What does f+++++++++ mean in rsync logs?
I'm using rsync to make a backup of my server files, and I have two questions: In the middle of the process I need to stop and start rsync again. Will rsync start from the point where it stopped or...
stackoverflow.com
>f.st......
> - the item is received
f - it is a regular file
s - the file size is different
t - the time stamp is different
.d..t......
. - the item is not being updated (though it might have attributes
that are being modified)
d - it is a directory
t - the time stamp is different
>f+++++++++
> - the item is received
f - a regular file
+++++++++ - this is a newly created item
rsync로 자료를 로컬 / 원격지에 증분백업하거나 복사 작업을 할 경우, 위와 같은 logging을 통해 검증 자료를 만들어 놓는 것이 좋습니다.
왜냐하면 파일 백업 후 생각치 못한 파일 누락이 발생할 수 있을 뿐더러 작업 이력 등을 기록해 두어야 추후 문제 발생시 유연하게 대처할 수 있기 때문입니다.