1. 程式人生 > >]利用shell指令碼,crontab,scp實現將一臺伺服器的目錄備份到另一臺伺服器

]利用shell指令碼,crontab,scp實現將一臺伺服器的目錄備份到另一臺伺服器

 關於scp的詳細功能可參考:

在這我以將伺服器A上的/home/proto目錄下的wordpress自動備份到

伺服器B的/home/proto/目錄下,其中proto為伺服器的使用者名稱,

在B下輸入命令

會發現要輸入A伺服器密碼,下面我們就解決輸入密碼的問題

在A伺服器上輸入

ssh-keygen

生成金鑰,然後將A的公鑰(~/.ssh/id_rsa.pub)放到B伺服器的proto使用者下的.ssh目錄下,並重命名為authorized_keys(必須命名為authorized_keys),命令如下:

完成以上命令並未解決問題,輸入這個命令的過程中會讓你輸入一次密碼:

按照提示輸入A機proto使用者的密碼即可,這樣才能在機器A的proto和機器B的proto之間建立安全信任關係。

經過以上幾步我們就可以定時執行指令碼實現定時備份

建立指令碼

sudo nano yzw.sh

輸入一下內容

#!/bin/sh
sudo rm -rf /home/proto/*
scp -vrp -P22 [email protected]:/home/proto/wordpress/ /home/proto/

儲存退出。

新建一個檔案yzwcron:

sudo nano yzwcron

輸入內容如下:

0 9 * * * sh /home/proto/yzw.sh

每天九點定時備份,用crontab將yzwcron放到程序中讓其執行起來:

crontab yzwcron

可以輸入

crontab -l

檢視

輸入

crontab -r

刪除

這樣就可以完成將伺服器上的資料夾定時備份到另一個伺服器上的功能了。