閱讀975 返回首頁    go 技術社區[雲棲]


Linux服務器rsync自動備份

一、在 server 端配置

1. 編輯配置文件

#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 = 192.168.100.1            # 哪些電腦可以訪問rsync服務 
#hosts deny = 192.168.100.0/24         # 哪些電腦不可以訪問rsync服務 

[mysqlbackup]                          # rsync區段的設定名稱
path = /zsjdata/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. 在server端生成一個密碼文件 /etc/rsyncd.pwd

# echo root:xxx >> /etc/rsyncd.pwd
# 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 XXX >> /etc/rsyncd.pwd
#chmod 600 /etc/rsyncd.pwd


2. 測試備份命令

客戶端備份服務器上指定模塊中的數據 備份rsync服務器上postfix中模塊指定文件夾,並刪除本地服務器上沒有的內容

#rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@192.168.100.2::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@192.168.100.2::mysqlbackup /data/mysql > /dev/null 2>&1

本來是想給自己兩台服務器做個簡單的雙機數據庫自動備份,一台服務器在美國百兆共享,一台在國內5兆獨享,結果測試是沒問題成功了,但這個速度實在太讓人蛋疼了,才20KB。。

編輯的時候,請注意參數前麵的 短橫杠

最後更新:2017-04-03 12:54:57

  上一篇:go MySQL字段自增自減的SQL語句
  下一篇:go Shell出現cd命令無法識別