複製資料
rsync -avhW --no-compress --info=progress2 src/ dst/
rsyncd 設定檔 (server)
rsyncd.conf
pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsync.log [nas] path = /shares/rsync/nas uid = root #gid = share gid = root read only = no list = yes auth users = root secrets file = /etc/rsyncd.secrets
rsyncd.secrets
root:PASSWORD
備份指令,在要備份資料的伺服器上執行,192.168.50.35 為 rsync server。
參數說明
- –delete delete extraneous files from destination dirs
- –archive archive mode; equals -rlptgoD
RSYNC_PASSWORD="PASSWORD" rsync --delete --archive /home root@192.168.50.35::nas
選項與參數:
rsync [-avrlptgoD] [-e ssh] [user@host:/dir] [/local/path]
- -v :觀察模式,可以列出更多的資訊,包括鏡像時的檔案檔名等;
- -q :與 -v 相反,安靜模式,略過正常資訊,僅顯示錯誤訊息;
- -r :遞迴複製!可以針對『目錄』來處理!很重要!
- -u :僅更新 (update),若目標檔案較新,則保留新檔案不會覆蓋;
- -l :複製連結檔的屬性,而非連結的目標原始檔案內容;
- -p :複製時,連同屬性 (permission) 也保存不變!
- -g :保存原始檔案的擁有群組;
- -o :保存原始檔案的擁有人;
- -D :保存原始檔案的裝置屬性 (device)
- -t :保存原始檔案的時間參數;
- -I :忽略更新時間 (mtime) 的屬性,檔案比對上會比較快速;
- -z :在資料傳輸時,加上壓縮的參數!
- -e :使用的通道協定,例如使用 ssh 通道,則 -e ssh
- -a :相當於 -rlptgoD ,所以這個 -a 是最常用的參數了!
Rsync over SSH 範例
rsync -a --progress --delete -e "ssh -i /home/user/.ssh/id_rsa" /home/CSNA2016/backup [email protected]:/home/user
標題
rsync -a --exclude 'file.txt' src_directory/ dst_directory/ rsync -a --exclude 'dir1' src_directory/ dst_directory/ rsync -a --exclude 'dir1/*' src_directory/ dst_directory/ rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/ rsync -a --exclude={'file1.txt','dir1/*','dir2'} src_directory/ dst_directory/ rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/ rsync -a --exclude '*.jpg*' src_directory/ dst_directory/ rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/ find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/
參考