PC A 的資料要同步到 PC B做異地備援
1.由PC-B 連至PC-A把資料抓回來.
2.使用DSA金鑰來達到不用密碼連進PC-A
3.將同步指令加入crontab
要免密碼連進PC-A,要先在PC-B產生DSA(公/私)鑰,再把公鑰放到PC-A給ssh驗證
root@PC-B:~/.ssh#ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): <-不輸入, 使用預設值
Enter passphrase (empty for no passphrase): <-不輸入
Enter same passphrase again: <-不輸入
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
11:22:33:44:55:66:77:88:99:00:11:22:33:44:55:66 root@xxx.com.tw
如此便產生了金鑰 id_dsa, id_dsa.pub
再來要把公鑰傳至PC-A
root@PC-B:~/.ssh#scp id_dsa.pub PC-A的IP:/root/.ssh/authorized_keys2
root@PC-A's password: <-現在還要密碼.
id_dsa.pub 100%
************************************************************************* 123 00:00
root@PC-B:~/.ssh# <--傳過去了
現在執行 ssh PC-A 如果直接進去,應該就ok了.
接著安裝 rsync (PC-A PC-B都裝)
apt-get install rsync
接著假設要將 PC-A 的 /data 同步到 PC-B /backup
測試看看...
root@PC-B:~/.ssh# rsync -alv -e ssh PC-A的IP:/data/ /backup
是最重要的就是上面這一行了!~
順利的話,應該會看到在傳檔的畫面.
-R 保留相對路徑
-a --archive 保留檔案權限
-z 傳輸時壓縮資料
如此寫成 sync.sh
再修改權限 chmod 700
再加入 crontab
0 0 * * 0 /someplace/sync.sh &>/dev/null
記得加後面那個 &>/dev/null 才不會每次執行都寄mail給root
沒有留言:
張貼留言