Ben's

rsync --exclude 옵션 잘못쓰면 대박 본문

리눅스/백업

rsync --exclude 옵션 잘못쓰면 대박

Ben Ko (SINCE 2013) 2013. 5. 16. 09:08
728x90

* 올바른 예: 원래 의도대로 /root/imsi 하위 파일들이 sync에서 제외됨.

 

strace rsync -av --exclude=/root/imsi/* --exclude /boot --exclude /var --exclude /usr --exclude /home / /disk 2> nhko.1

 

[root@zenoss /]# head -1 nhko.1
execve("/usr/bin/rsync", ["rsync", "-av", "--exclude=/root/imsi/*", "--exclude", "/boot", "--exclude", "/var", "--exclude", "/usr", "--exclude", "/home", "/", "/disk"], [/* 24 vars */]) = 0

 

* 올바르지 않은 예: 원래 의도는 /root/imsi 하위 파일들을 제외하는거였지만, 실제로는 /root/imsi/aa.tar.gz만 제외되고 나머지는 모두 /disk로 sync 됨.

 

strace rsync -av --exclude /root/imsi/* --exclude /boot --exclude /var --exclude /usr --exclude /home / /disk 2> nhko


[root@zenoss /]# head -1 nhko  
execve("/usr/bin/rsync", ["rsync", "-av", "--exclude", "/root/imsi/aa.tar.gz", "/root/imsi/mpkang", "--exclude", "/boot", "--exclude", "/var", "--exclude", "/usr", "--exclude", "/home", "/", "/disk"], [/* 24 vars */]) = 0

 

 

* 이런 현상이 벌어지는 이유: rsync는 아래와 같이 SRC를 여러개 줄수가 있어서임.

 

Local:  rsync [OPTION...] SRC... [DEST]