2016年7月12日 星期二

利用 rsync + ssh + crontab 做主機自動同步備份

1. 安裝rsync

# sudo apt-get install rsync

檢查
# dpkg -l | grep rsync


2. 製作不需密碼就可以登入的ssh用戶

在client端製作公鑰和私鑰

# ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/deray/.ssh/id_rsa):
Created directory '/home/deray/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/deray/.ssh/id_rsa.
Your public key has been saved in /home/deray/.ssh/id_rsa.pub.

最後鑰匙會產生在家目錄的.ssh目錄下,id_rsa.pub是公鑰,id_rsa就是私鑰,
把公鑰傳到server上,然後到server上,將公鑰加入authorized_keys,
authorised_keys放在家目錄的.ssh目錄下,如果還沒有這個目錄,手動把它建立起來

# mkdir .ssh

第一次還沒有authorized_keys,直接用cat把id_rsa.pub的內容加進去
# cat id_rsa.pub >> authorized_keys

以後要加其他的公鑰,也是用cat附加到該檔案後面就可以

回到client端,試試看是否不需要詢問密碼就能登入

# ssh xxx@xxx.xxx.xxx


3. rsync同步備份

在client端輸入以下指令
# rsync -av --delete -e ssh xxx@xxx.xxx.xxx:/var/www /home/backup

把server上的/var/www同步備份到client的/home/backup,
之後server端有任何異動,只會同步備份異動的部份。


4. 設定crontab讓備份自動執行

在client端把rsync指令寫到crontab裡

# crontab -e
3 5 * * * rsync -av --delete -e ssh xxx@xxx.xxx.xxx:/var/www /home/backup
這樣就是在每天凌晨03:05自動同步備份

沒有留言:

張貼留言

Uninstalling HEVC Video Extensions from Windows

Microsoft store packages are usually APPX format installations (HEVC Video Extensions is installed as APPX package) You will need to use Pow...