rsync+shell腳本完成自動化備份

一、什麼是rsync

  rsync,remote synchronize顧名思意就知道它是一款實現遠程同步功能的軟件,它在同步文件的同時,可以保持原來文件的權限、時間、軟硬鏈接等附加信息。 rsync是用 “rsync 算法”提供了一個客戶機和遠程文件服務器的文件同步的快速方法,而且可以通過ssh方式來傳輸文件,這樣其保密性也非常好,另外它還是免費的軟件。
  rsync 包括如下的一些特性:

  能更新整個目錄和樹和文件系統;
  有選擇性的保持符號鏈鏈、硬鏈接、文件屬於、權限、設備以及時間等;
  對於安裝來說,無任何特殊權限要求;
  對於多個文件來說,內部流水線減少文件等待的延時;
  能用rsh、ssh 或直接端口做爲傳輸入端口;
  支持匿名rsync 同步文件,是理想的鏡像工具
特徵:
可以鏡像保存整個目錄樹和文件系統。

可以很容易做到保持原來文件的權限、時間、軟硬鏈接。
二、操作
首先關閉防火牆
iptables -F
iptables -X
iptables -Z
iptables -L
setenforce 0
vi /etc/sysconfig/selinux               #修改SELINUX
兩臺虛擬機一臺客戶端一臺服務端
客戶端:
yum -y install rsync              #安裝rsync服務
systemctl start rsyncd.service
systemctl enable rsyncd.service
netstat -lnp|grep 873            #檢查是否已經成功啓動

ssh-keygen #客戶端生成密鑰

ssh-keygen            #服務端生成密鑰

cat /root/.ssh/id_rsa.pub #客戶端
cat /root/.ssh/id_rsa.pub #服務端
兩個節點都執行操作:#ssh-keygen然後全部回車,採用默認值

.
vi /root/.ssh/authorized_keys
vi /root/.ssh/authorized_keys

定時腳本就涉及到一個目錄crontab,還是先介紹一下crontab文件的含義:

用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個字段代表一項設置,它的格式共分爲六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:

minute hour day month week command

其中:

minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這裏的0或7代表星期日。

command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

crontab -e                    #編輯該用戶的計時器設置;

          • bash /root/copy.sh 設置運行腳本的時間

    crontab -l #-l:列出該用戶的計時器設置;

            • bash /root/copy.sh
              定好時,完成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章