달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

상태

윈도우7 D:\Gallery 에 파일들이 있음.

나스용에는 CentOS 6.8 이 설치되어 있음. rsync 있음. 별도로 rsync데몬을 실행한 상태는 아님.

나스아이피주소 192.168.0.9 - 계정명 daehan - 웹용 디렉토리는 /home/daehan/webdir/Gallery


상황

리눅스에 이미 예전 사진파일들이 올라가 있지만

윈도우에서 Gallery의 사진들을 폴더별로 다시 정리한 파일들을 나스로 복사해서 동기화 하려고 함.

윈도우 -> 리눅스로 전송&동기화 하는것임.

이 상황에서는 윈도우가 서버이고 리눅스가 클라이언트라고 봐야하나...



rsync 로 할랬는데 윈도우용이 안보여서 찾아봤는데 너무 어려워 ㅜㅜ

https://www.itefix.net/content/cwrsync-free-edition

여기가서 파일을 다운받아서 봤는데 rsyncd.conf 가 안보여 ㅜㅜ

혹시몰라 백업용으로 올려두기.

cwRsync_5.5.0_x86_Free.zip



대충압축풀어서 cwRsync_5.5.0_x86_Free 폴더를 D:\Gallery 폴더안으로 이동.


에디터로 cwrsync.cmd 파일을 열어 봄.

죄다 주석으로 설명만 있고 보니깐

C:\WORK\* --> /cygdrive/c/work/* --> /cygdrive/드라이브명(c,d,e)/디렉토리인듯 싶음.



맨 밑줄에 테스트로 추가해 봄. (마지막에 옵션지정하는거 올려둠)


rsync -avru --delete /cygdrive/d/Gallery/업로드테스투 daehan@192.168.0.9:/home/daehan/webdir/Gallery


D:\Gallery\업로드테스투 폴더를 나스의 /home/daehan/webdir/Gallery 디렉토리 안에 복사(?)

-a(그냥다른사람들도 쓰길래) / -v(상태보여준다니)  / -r(서브디렉토리까지) / -u(새로운애들만. 빼면 할 때마다 쓰는듯)

--delete 옵션은 폴더정리로 윈됴에서 이동된 파일들을 리눅스에서 정리해주기위해. 이 기능때문에 rsync쓰는겨...


혹 ssh 포트를 바꿔준 경우라면 예) 2048번포트

rsync -avru --delete -e 'ssh -p 2048' /cygdrive/d/Gallery/업로드테스투 daehan@192.168.0.9:/home/daehan/webdir/Gallery

처럼 -e 옵션에 포트지정하는거 넣어주면 된다.


저장하고 cwrsync.cmd 더블클릭하니 daehan 의 로그인패스 입력하라고 함.

로그인패스 입력하니 뭐가 주르룩 지나간 다음 창히 훅 닫힘.


쉘로 접속해서 보니 /home/daehan/webdir/Gallery 디렉토리밑에 업로드테스투 디렉토리가 777모드로 만들어져있음.

drwxrwxrwx. 7 daehan daehan 4096 2016-11-13 18:00 업로드테스투


아! 그러고 보니 Gallery 디렉토리도 웹에서 멋대로 할려고 모두 777로 정해놨네...

다른 환경에서는 추가로 퍼미션 문제가 있을지 어쩔지는 모르겠넹...


검색해서 다른 글들을 보니 윈됴경로 쓸 때 뒤에 '/'를 붙이면 업로드테스투 폴더는 안되고 폴더안의 파일들만 된다네.

/cygdrive/d/Gallery/ 이렇게 해주면 Gallery 폴더안의 파일들이 몽땅 되는것이긋지.

근데 난 안올려야 될 것들도 같이 있으니 미련하게 따로 따로~


rsync -avru --delete /cygdrive/d/Gallery/가족사진 daehan@192.168.0.9:/home/daehan/webdir/Gallery

rsync -avru --delete /cygdrive/d/Gallery/여행사진 daehan@192.168.0.9:/home/daehan/webdir/Gallery

rsync -avru --delete /cygdrive/d/Gallery/일반짤방 daehan@192.168.0.9:/home/daehan/webdir/Gallery

rsync -avru --delete /cygdrive/d/Gallery/므흣짤방 daehan@192.168.0.9:/home/daehan/webdir/Gallery

pause


줄을 복사해서 cwrsync.cmd 파일 저장하고 했는데 하나 할 때마다 로그인패스 입력하라네...ㅜㅜ

이거 쉽게 하는거 글을 찾았는데 창을 닫아버렸더니 다시 못찾겠다.


top으로 보니 sshd하고 rsync하고 바쁘게 뭔가를 하더라.



주의

퍼미션 설정때문인지

rsync: failed to set times on "파일이나디렉토리이름" Operation not permitted (1)

라는 오류가 나오는데.. 그룹까지 정해줬는데 왜이랴..


찾아보니

기본옵션인 -avz 대신에 -avzO 를 사용하면 해당 에러구문을 피할 수 있습니다.

고는 하는데 오류가 많이 줄어들었지만 제대로 동기화되는지 확인을 못해봤다.







부록 : rSync 옵션.. 어디서 퍼왔는지 기억이 안남 ㅜㅜ

-a : archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)

-v 진행상황을 상세히 보여줌 

-r 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행 

-l 소프트링크 보존 

-H 하드링크 보존 

-p 버전속성 보존 

-o 소유속성 보존(루트) 

-g 그룹속성 보존 

-t 타임스탬프 보존 

-D 디바이스 파일보존(루트) 

-z 데이터압축 전송 

-u 추가된 파일만 전송 

-b 낡은 파일은 ~가 붙음 

-u 새로운 파일을 덮어쓰지 않음 

-c 서버와 클라이언트 파일크기를 세밀히 체크 

-e ssh(rsh) 전송암호화 

--existing : 추가된 파일은 전송하지않고 갱신된 파일만 전송 

--delete : 서버에 없는 파일은 클라이언트에서도 삭제 

--exclude 'PATTERN' : 패턴과 맞는 파일만 전송 

--stats : 결과를 보고 

--daemon : 대몬모드로 운영함(이건 inetd.conf에 지정할 때 필요함)



:
Posted by 비개인오후