閱讀543 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Linux使用rsync客戶端與服務端同步目錄進行備份

一、服務端設置

1. 修改 server 端配置

# vi /etc/rsyncd.conf

修改:

uid = nobody                           # 該選項指定當該模塊傳輸文件時守護進程應該具有的uid.默認值為”nobody”.
gid = nobody                           # 該選項指定當該模塊傳輸文件時守護進程應該具有的gid.默認值為”nobody”.
max connections = 4                    # 最大連接數為4
use chroot = no                        # 不使用chroot
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
hosts allow = 28.16.67.10            # 哪些客戶端IP可以訪問rsync服務
#hosts deny = 192.168.100.0/24         # 哪些IP不可以訪問rsync服務  0/24 代表 192.168.100 該IP段

添加一個自定義的同步模塊配置:

[mysqlbackup]                          # rsync同步模塊的設定名稱
path = /mydata/mysql/data             # 需要同步的數據存放路徑
comment = mysql backup folder          # 注釋
auth users = root                      # 指定用戶
ignore errors                          # 忽略錯誤
read only = yes                        # 隻讀
list = no                              # 不能列表
auth users = root                      # 連接rsync服務的帳號
secrets file = /etc/rsyncd.pwd         # 指定存放帳號密碼的位置

2. 服務端生成密碼文件

# echo root:123456 >> /etc/rsyncd.pwd

配置文件權限,僅允許 root 使用:

# chmod 600 /etc/rsyncd.pwd

3. 啟動 rsync 守護進程方式啟動

# rsync –-daemon

4. 添加到自啟動文件

# echo "rsync --daemon" >> /etc/rc.d/rc.local

5. 檢查 rsync 默認使用的是873端口,除非特殊情況,一般不要去修改

# netstat -na | grep 873


顯示如下:

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN


二、客戶端設置:

1. 生成密碼文件 rsync 服務端 root 帳號密碼 (注:隻要密碼)

# echo 123456 >> /etc/rsyncd.pwd
# chmod 600 /etc/rsyncd.pwd

2. 指定客戶端目錄與服務端指定的rsync模塊配置的目錄同步,並刪除客戶端存在而服務端不存在的目錄或文件

# rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/mysql

# -v, –verbose 詳細模式輸出
# -z, –compress 對備份的文件在傳輸時進行壓縮處理
# -r, –recursive 對子目錄以遞歸模式處理
# -t, –times 保持文件時間信息
# -o, –owner 保持文件屬主信息
# -p, –perms 保持文件權限
# -g, –group 保持文件屬組信息
# –-progress 顯示傳輸進度
# –-delete 刪除本地備份目錄中服務器模塊指定目錄中沒有的文件
# –-password-file 從指定文件中得到密碼


3. 製定計劃任務

# crontab -e

加入:

0 0 * * * rsync -vzrtopg --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/backup/mysql > /dev/null 2>&1


最後更新:2017-04-03 12:55:12

  上一篇:go 排序算法總結-python實現
  下一篇:go 一個經典例子讓你徹徹底底理解java回調機製(一)