Linux/Tip&Tech

rsync 설정

Grub 2008. 10. 9. 07:50
출처 : http://locli.cafe24.com/

1. 원격지 서버에 rsync 서버 설정하기

     - /etc/xinet.d/rsync 파일생성
      service rsync
      {
            disable = no
            socket_type = stream
            wait = no
            user = root
            server = /usr/bin/rsync
            server_args = --daemon
            log_on_failure += USERID
      }

2. /etc/service 파일에 추가

        rsync           873/tcp                         # rsync
        rsync           873/udp                         # rsync

3. /etc/rsyncd.conf 파일생성

      #motd = /etc/rsync.motd         # file : message of the day        
      uid = nobody                                                      
      gid = nobody                                                      
      use chroot = no                                                    
      max connections = 4                                                
      syslog facility = local5                                          
      pid file = /var/run/rsyncd.pid                                    
                                                                  
      [HOME]                                                      
              path = /home                    
              comment = home directory                        
              read only = false                                          
              uid = apache                                              
              gid = apache                                              
              auth users = wangsy                                        
              secrets file = /etc/rsyncd.secrets

4. /etc/rsyncd.secrets  파일 생성

      name:password
      chmod 0600 /etc/rsyncd.secrets

5. xinet.d 리스타트

     /etc/rc.d/init.d/xinetd restart


=========================================================================

클라이언드 사용하기

=========================================================================

형식 : rsync [option] [src] [target]

ex) rsync -av test.net::HOME /home
      rsync -av test.net:/home /home

      rsync -av /home test.net::HOME
      rsync -av /home test.net:/home

옵션 설명


  -v, --verbose                             상세하게 출력하기              
  -q, --quiet                                 에러및 기타 어떠한 메시지도 출력 하지 말것
  -a, --archive                             아카이브 보드로 가져오기(퍼미션 소유주 및 위치까지 그대로 가져온다.)
   -r, --recursive                         하위 구조의 디렉토리 모두 재귀적으로 가져온다.
   -z, --compress                       압축하여 전송하기              
-R, --relative              use relative path names
     --no-implied-dirs       don't send implied dirs with --relative
-b, --backup                make backups (see --suffix & --backup-dir)
     --backup-dir=DIR        make backups into hierarchy based in DIR
     --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
-u, --update                skip files that are newer on the receiver
     --inplace               update destination files in-place
     --append                append data onto shorter files
-d, --dirs                  transfer directories without recursing
-l, --links                 copy symlinks as symlinks
-L, --copy-links            transform symlink into referent file/dir
     --copy-unsafe-links     only "unsafe" symlinks are transformed
     --safe-links            ignore symlinks that point outside the tree
-k, --copy-dirlinks         transform symlink to dir into referent dir
-K, --keep-dirlinks         treat symlinked dir on receiver as dir
-H, --hard-links            preserve hard links
-p, --perms                 preserve permissions
-E, --executability         preserve executability
     --chmod=CHMOD           affect file and/or directory permissions
-o, --owner                 preserve owner (super-user only)
-g, --group                 preserve group
     --devices               preserve device files (super-user only)
     --specials              preserve special files
-D                          same as --devices --specials
-t, --times                 preserve times
-O, --omit-dir-times        omit directories when preserving times
     --super                 receiver attempts super-user activities
-S, --sparse                handle sparse files efficiently
-n, --dry-run               show what would have been transferred
-W, --whole-file            copy files whole (without rsync algorithm)
-x, --one-file-system       don't cross filesystem boundaries
-B, --block-size=SIZE       force a fixed checksum block-size
-e, --rsh=COMMAND           specify the remote shell to use
     --rsync-path=PROGRAM    specify the rsync to run on remote machine
     --existing              skip creating new files on receiver
     --ignore-existing       skip updating files that exist on receiver
     --remove-source-files   sender removes synchronized files (non-dir)
     --del                   an alias for --delete-during
     --delete                delete extraneous files from dest dirs
     --delete-before         receiver deletes before transfer (default)
     --delete-during         receiver deletes during xfer, not before
     --delete-after          receiver deletes after transfer, not before
     --delete-excluded       also delete excluded files from dest dirs
     --ignore-errors         delete even if there are I/O errors
     --force                 force deletion of dirs even if not empty
     --max-delete=NUM        don't delete more than NUM files
     --max-size=SIZE         don't transfer any file larger than SIZE
     --min-size=SIZE         don't transfer any file smaller than SIZE
     --partial               keep partially transferred files
     --partial-dir=DIR       put a partially transferred file into DIR
     --delay-updates         put all updated files into place at end
-m, --prune-empty-dirs      prune empty directory chains from file-list
     --numeric-ids           don't map uid/gid values by user/group name
     --timeout=TIME          set I/O timeout in seconds
-I, --ignore-times          don't skip files that match size and time
     --size-only             skip files that match in size
     --modify-window=NUM     compare mod-times with reduced accuracy
-T, --temp-dir=DIR          create temporary files in directory DIR
-y, --fuzzy                 find similar file for basis if no dest file
     --compare-dest=DIR      also compare received files relative to DIR
     --copy-dest=DIR         ... and include copies of unchanged files
     --link-dest=DIR         hardlink to files in DIR when unchanged
-z, --compress              compress file data during the transfer
     --compress-level=NUM    explicitly set compression level
-C, --cvs-exclude           auto-ignore files in the same way CVS does
-f, --filter=RULE           add a file-filtering RULE
-F                          same as --filter='dir-merge /.rsync-filter'
                             repeated: --filter='- .rsync-filter'
     --exclude=PATTERN       exclude files matching PATTERN
     --exclude-from=FILE     read exclude patterns from FILE
     --include=PATTERN       don't exclude files matching PATTERN
     --include-from=FILE     read include patterns from FILE
     --files-from=FILE       read list of source-file names from FILE
-0, --from0                 all *from/filter files are delimited by 0s
     --address=ADDRESS       bind address for outgoing socket to daemon
     --port=PORT             specify double-colon alternate port number
     --sockopts=OPTIONS      specify custom TCP options
     --blocking-io           use blocking I/O for the remote shell
     --stats                 give some file-transfer stats
-8, --8-bit-output          leave high-bit chars unescaped in output
-h, --human-readable        output numbers in a human-readable format
     --progress              show progress during transfer
-P                          same as --partial --progress
-i, --itemize-changes       output a change-summary for all updates
     --out-format=FORMAT     output updates using the specified FORMAT
     --log-file=FILE         log what we're doing to the specified FILE
     --log-file-format=FMT   log updates using the specified FMT
     --password-file=FILE    read password from FILE
     --list-only             list the files instead of copying them
     --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
     --write-batch=FILE      write a batched update to FILE
     --only-write-batch=FILE like --write-batch but w/o updating dest
     --read-batch=FILE       read a batched update from FILE
     --protocol=NUM          force an older protocol version to be used
     --checksum-seed=NUM     set block/file checksum seed (advanced)
-4, --ipv4                  prefer IPv4
-6, --ipv6                  prefer IPv6
     --version               print version number
(-h) --help                  show this help (see below for -h comment)