rsync 의 exclude 항목을 좀 더 많이 넣어보자.

in kr-game •  6 years ago  (edited)

롬의 수가 많아지면서, 폴더 관리도 점차 어렵게 되어가고, 개중에 싱크시키면 안되는 파일/폴더가 점점 많이 생기기 시작했다. 이게 점점 커지기 시작해서 컴퓨터 하드디스크의 공간을 잡아먹는 괴물이 되어 있는 경우도 있다. 더욱이 지금 당장은 지울수 없는 사정이 있어 남겨두기는 해야 하는데, 이 때 사용하는게 exclude 항목이다. 지정한 그 항목만 따로 싱크를 제외함으로서 내 컴퓨터의 용량 다이어트가 가능했다.

rsync -avzO --delete --exclude="제외할 항목" -e 'ssh -p 22' 소스경로/roms/ 목적지경로/roms

그런데 exclude 항목이 생각보다 많았고, 너무 길어서 이윽고 한 화면에서 볼 수 없는 정도 까지 되었다.

rsync -avzO --delete --exclude="제외할 항목1" --exclude="제외할 항목2" --exclude="제외할 항목3" --exclude="제외할 항목4" --exclude="제외할 항목5" --exclude="제외할 항목6" -e 'ssh -p 22' 소스경로/roms/ 목적지경로/roms

그래서 이걸 또 종합해서 conf 파일처럼 불러오는 방법이나 추려내는 방법이 없을까? 해서 찾아보았는데 있었다. --exclude-from= 이라는 옵션을 사용하여, 파일을 불러오면 되는거였다.

rsync -avzO --delete --exclude-from="절대경로/nasrsync-excludeme.list" -e 'ssh -p 22' 소스경로/roms/ 목적지경로/roms

방법은 간단하다. 위 내용을 예로 들어 우선 nasrsync-excludeme.list 파일을 만들어 제외할 파일 및 폴더들을 기록한다.

nasrsync-excludeme.list 파일내용

dos
xbox
mame
mame-libretro
fba_libretro
.nosync
@eaDir
_readme.txt
_lisezmoi.txt
download_images
.DS_Store
downloaded_images

그런 다음 rsync 명령에 --exclude-from="..." 옵션을 이용해서 파일을 불러들이면 된다.

여기서 주의해야 할 점은 사용할 nasrsync-excludeme.list의 경로를 절대경로로 지정해줘야 한다는 점이다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!