Rsync 是一種檔案傳輸協定。可以用來使兩主機的檔案同步,利用 checksum。Rsync 是明文傳輸的協定,它的認證要求有限。一但與 SSH 結合後,不但有原來的功能,也提供加密及公鑰認證的功能。
做法:假設兩主機 production server 與 backup serverproduction server 的檔案要同步到 backup server
一、
1. 確定 backup server 的 OpenSSH 及 Rsync 已安裝。
2. 確定 port 22(SSH) 及 873(Rsync) 已在監聽(服務已啟動)。
二、
1.在 production server ,root 的目錄下,建立一個 .ssh 的目錄。
# cd /root
# mkdir .ssh
# cd .ssh
2.產生一對公鑰及私鑰。因為希望備份程序不要有人為介入,所以不要替私鑰加上密碼保護。並將金鑰取名存檔,如 backup
# ssh-keygen -t dsa -N "" -f backup
三、金鑰產生後,將會出現兩個檔案 backup, backup.pub
四、將公鑰 backup.pub 以 sftp 上傳到 backup server 的 root 的目錄下的 .ssh
# sftp root@backup_server
sftp> cd .ssh
sftp> put backup.pub
sftp> exit
五、到 backup server ,將 backup.pub 的內容加到 .ssh/authorized_keys
# cat backup.pub >> authorized_keys
六、準備工作完成!可以使用 rsync 傳送檔案了!
-a 表示 archive mode ,可以保留檔案目錄原屬性
-e 表示 使用遠端的 shell,這裡是用 ssh
# rsync -a -e ssh /local_data_path backup_server:/remote_data_path
七、接下來這個例子是用來在 backup server 將 production server 上的檔案傳回來的
# ssh procuction_server "tar cfz - /production_data_path" > backup.tar.gz
沒有留言:
張貼留言