您好,登錄后才能下訂單哦!
rsync是類unix系統下的數據鏡像備份工具——remote sync。一款快速增量備份工具 Remote Sync,遠程同步 支持本地復制,或者與其他SSH、rsync主機同步。我們先來了解下rsync的語法吧,然后在配置rsync+ssh+crontab,實現自動化備份。
yum install rsync -y #安裝服務
本地目錄同步(個人認為本地同步還是cp實用)
rsync -avz /tang /home #將/tang目錄下的文件復制到/home中,參數說明看下面。
實驗環境:
由于我想把實驗錄成gif效果,所以裝了個圖像界面,左邊是主服務器,右邊是ssh遠程備份服務器。
把主服務器的 /tang/ 目錄 備份到備份服務器的 /home中,備份服務器的IP為:192.168.23.35
rsync -avz /tang/ root@192.168.23.35:/home/ #把本地/tang/目錄備份到遠程備份服務器的/home目錄下
假如主服務器和備份服務器都想保持一致,可以加上 --delete,讓備份服務器同步主服務器,有多余的就刪除。 左邊是主服務器,右邊是ssh遠程備份服務器。
rsync --delete -avz /tang/ root@192.168.23.35:/home/
同步指定的文件夾名。這里是以b開頭的文件夾都匹配
rsync -avz --include 'b*' --exclude '*' /tang root@192.168.23.35:/home
解釋:--include是包括的意思。 --exclude是排除的意思,*代表前面的(左鄰)字符有0個或0個以上。
如果想要準確的同步一個文件夾,--include ‘這里是文件夾的名字,后面不加*號鍵’。
左邊是主服務器,右邊是ssh遠程備份服務器。
-a, -權限的屬性不變
-v, -詳細模式輸出
-z, -傳輸時進行壓縮處理
-e, --rsh=COMMAND 指定使用rsh、ssh方式進行數據同步
基本的操作上面應該都演示了,相信你應該知道每次同步都要輸入備份服務器的密碼,現在來配置ssh免密碼登錄,然后在 crontab -e 中 寫個腳本就可以自動化執行了。實驗如下:
在主服務器上生成密鑰
ssh-keygen #(直接選擇回車,都選擇默認就行)
使用ssh-copy-id將公匙發送到備份服務器
ssh-copy-id 192.168.23.35
然后再測試下,遠程登錄是否要密碼,不用就OK!
手動測試同步是否需要輸入密碼
rsync -avz -e ssh /tang root@192.168.23.35:/home
ssh 免密碼登錄OK,現在我們把這句寫入一個腳本里面
echo "rsync -avz -e ssh /tang root@192.168.23.35:/home " > /etc/tang.sh
crontab -e #編寫定時執行任務,每個小時的第五分鐘執行一次。
5 * * * * sh /etc/tang.sh
* * * * * sh /etc/tang.sh
解釋:
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
以上實驗配置完畢,
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。