rsync 서버와 클라이언트를 설정하는 방법은 무엇입니까?

rsync 서버와 클라이언트를 설정하는 방법은 무엇입니까?

나는 오후 내내 rsync 작업을 하고 있었습니다. rsync 서버를 설정했지만 사용 방법을 모르겠습니다.

66과 12라는 두 대의 머신이 있습니다. 66이 서버이고 66~12의 데이터를 백업하고 싶기 때문에 rsync를 사용합니다.

나는 다음을 수행했습니다.

66세:

sudo apt-get install xinetd 

sudo vim /etc/xinetd.d/rsync 
service rsync 
    { 
        disable         = no 
        socket_type     = stream 
        wait            = no 
        user            = root 
        server          = /usr/bin/rsync 
        server_args     = --daemon 
        log_on_failure  += USERID 
    } 

sudo nano  /etc/rsyncd.conf 

max connections = 2 
log file = /var/log/rsync.log 
timeout = 300 

  [wwwroot] 
  comment = Public Share 
  path = /home/wwwroot 
  read only = no 
  list = yes 
  uid = nobody 
  gid = nogroup 
  auth userusers = user 
  secrets file = /home/rsync.secrets

sudo /etc/init.d/xinetd restart  

12:

rsync -v  [email protected]::wwwroot  /home/young001/backup --password-file=/home/rsync.pass 

이는 우리에게 다음과 같이 알려줍니다.

skipping directory .

sent 4 bytes  received 6 bytes  2.86 bytes/sec
total size is 0  speedup is 0.00

로그는 다음과 같습니다

2013/06/12 03:18:18 [30477] name lookup failed for 125.221.225.12: Name or service not known
2013/06/12 03:18:18 [30477] connect from UNKNOWN (125.221.225.12)
2013/06/12 10:18:18 [30477] rsync on ctp/ from young001@UNKNOWN (125.221.225.12)
2013/06/12 10:18:18 [30477] building file list
2013/06/12 10:18:18 [30477] skipping directory .
2013/06/12 10:18:18 [30477] sent 98 bytes  received 54 bytes  total size 0
2013/06/12 03:19:59 [30484] name lookup failed for 125.221.225.12: Name or service not known
2013/06/12 03:19:59 [30484] connect from UNKNOWN (125.221.225.12)
2013/06/12 10:19:59 [30484] rsync on ctp/ from young001@UNKNOWN (125.221.225.12)
2013/06/12 10:19:59 [30484] building file list
2013/06/12 10:19:59 [30484] skipping directory .
2013/06/12 10:19:59 [30484] sent 98 bytes  received 54 bytes  total size 0

디렉토리가 비어 있다는 것을 알려주는 것 같은데 어느 디렉토리가 비어 있는지는 알 수 없습니다.

/home/young001/backup은 빈 디렉터리이지만 /home/wwwroot는 빈 디렉터리가 아닙니다.

wwwroot를 백업에 동기화하고 싶은데, 제가 뭘 잘못하고 있나요?

답변1

12상자(서버에서 백업을 가져온 상자) 에서 다음 명령을 사용합니다.

rsync -av  [email protected]::wwwroot  /home/young001/backup --password-file=/home/rsync.pass 

-a옵션은 rsync 아카이브 모드입니다. 디렉터리로 재귀하여 거의 모든 내용을 보존하도록 설계되었습니다. rsync man을 확인해보세요.

-aRsync는 기본적으로 디렉터리를 반복적으로 복사하지 않으므로 또는 옵션을 사용해야 합니다 -r.

답변2

1.원격 디렉터리를 로컬 디렉터리에 동기화합니다.

sudo rsync -r -a -v [email protected]:/path/to/remote/directory/ /path/to/local/directory/ 2>&1

2. 그러면 로컬 디렉터리가 원격 디렉터리에 동기화됩니다.

sudo rsync -r -a -v /path/to/local/directory/ [email protected]:/path/to/remote/directory/ 2>&1 

, 표준 출력( )을 2>&1나타냅니다 . 표준오차( )를 나타낸다 .1stdout2stderr

따라서 2>&1표준 출력도 리디렉션되는 곳으로 표준 오류가 전송된다는 의미입니다. 전송되기 때문에 /dev/null요청에 의해 모든 출력이 완전히 무시됩니다. 이렇게 하면 오류가 발생하면 오류가 무엇인지 확인할 수 있습니다.

--delete : delete files that don't exist on sender (system)
-v : Verbose (try -vv for more detailed information)
-e "ssh options" : specify the ssh as remote shell
-a : archive mode
-r : recurse into directories
-z : compress file data

자세한 내용은rsync 이것을 사용하십시오.

관련 정보