發佈日期:

rsync 透過 SSH 傳送及備份檔案

rsync 是很常用的檔案傳送工具,以下會介紹用 rsync + SSH 傳送檔案,並以 CentOS 7 作為測試環境。

第一步先在 Server 產生一組 public SSH keys, 該 Client 端可以不用輸入密碼登入

ssh-keygen -f ~/.ssh/public.key -q -P ""

現在可以將 public.key 的內容複制起來,可以用 cat 指令:

$ cat ~/.ssh/public.key

將以上 public.key 內容複製後,登入到 Client 端,並儲到到 ~/.ssh/authorized_keys, 如果 .ssh/ 目錄不存在,需要手動建立並建立正確權限:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

現在可以在 Client 端用 rsync 備份 Server 端竹的資料,或者備份資料到 Server 端,以下指 rsync 透過 SSH 傳送檔案的指令語法:

rsync -av --delete -e ssh username@xxx.xxx.xxx:/var/www /home/backup/www 

以上指令會以 “username” 作為登入帳號,並將 Server 端 (xxx.xxx.xxx.xxx) 上面的 /var/www 目錄,全部資料備份到 Client 端的 /home/backup/www 目錄。