본문 바로가기
카테고리 없음

리눅스 관리자라면 반드시 알아야 하는 rsync 이력관리 로깅 파헤치기

by 기본기를 다지는 블로그 2025. 3. 10.

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을 통해 검증 자료를 만들어 놓는 것이 좋습니다.

왜냐하면 파일 백업 후 생각치 못한 파일 누락이 발생할 수 있을 뿐더러 작업 이력 등을 기록해 두어야 추후 문제 발생시 유연하게 대처할 수 있기 때문입니다.