iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
IT管理

用自組NAS亂玩unRaid系列 第 16

rsync異地備份+排程自動化

今天要接續昨天的排程備份來實作「異地備份」
讀者們如果對rsync操作尚不熟悉,可到 昨天 複習喔


排程備份

只在本地備份並不能滿足所需
最好要能夠在離峰時間備份,並且有快取碟執行的話,還要避免跟快取搬移的時間衝突

這時備份時機和自動化就顯得格外重要:

  • 目標:在一次完整備份結束後能自動排程差異備份到另一台Server上的ZFS陣列
  • 效果:自動排程unRaid Array差異備份到另一台Server上
    (可依據<12Day>建立ZFS的方法在另一台Server建立陣列,確保備份資料安全無虞)

實作

先設定rsyncd.secrets認證檔,設定非常簡單
帳號:密碼
例:

user:123456

修改完儲存(ctrl+o),接著編輯rsyncd.conf:
rsyncd.conf範例

  log file = /var/log/rsyncd.log   #log日誌,出錯可以前往查看
  [unraidbk]   #任務名稱
  path = /backup  #放置資料路徑(異地Server位置)
  auth users = user  #指定Server帳號(隨rsyncd.secrets設定內容調整)
  uid = root 
  gid = root  #設定身份組,維持預設(root)不調整
  secrets file = /etc/rsyncd.secrets  #import認證檔
  read only = no  #寫入

修改完儲存,接著編輯myrsync.sh

#! /bin/sh
#指令請自行刪改調整
#unraidbk為rsyncd.conf指令任務名稱
#192.168.0.123 (Server IP自行修改)
#/mnt/disk1為要備份的資料路徑,可建立多個指令

/usr/bin/rsync -avHS --numeric-ids --password-file=/etc/rsyncd.secrets /mnt/cache@192.168.0.123::unraidbk
/usr/bin/rsync -avHS --numeric-ids --password-file=/etc/rsyncd.secrets /mnt/disk1@192.168.0.123::unraidbk
/usr/bin/rsync -avHS --numeric-ids --password-file=/etc/rsyncd.secrets /mnt/disk2@192.168.0.123::unraidbk

設定完記得執行sh,看看有無ERROR Code 或 異地Server目錄裡有無資料

建立排程

最後一步建立排程就結束啦 /images/emoticon/emoticon07.gif

這裡使用linux常用的crontab排程套件

TIP:依據 <[10 Day](https://ithelp.ithome.com.tw/articles/10264635)> 介紹快取碟Mover的機制,為了避免干擾 Mover 時程,備份可排在Mover執行後2-4小時左右

  • 調整Mover時間

SETTINGS > User Preferences 的Scheduler
https://ithelp.ithome.com.tw/upload/images/20210921/20117399DEGsqG33DW.png

預設是每天的3:40分
可以調整Mover時間至rsync排程時間的前2-4小時

  • 編輯crontab設定檔

nano etc/cron.d/root

新增以下指令

30 4 * * 7 /etc/myrsync.sh --your –parameter  #每星期日4:30分執行rsync
  • 指令規則:
    * * * * * /etc/myrsync.sh
    由左而右分別代表:
  • 分鐘(MIN) 0 到 59
  • 小時(HOUR) 0 到 23
  • 日(DAY) 1 到 31
  • 月份(MON) 1 到 12
  • 星期幾(WEEK) 1 到 7

完工後把unRaid重開機,往後到異地Server檢查有無備份內容就說明沒問題啦 /images/emoticon/emoticon35.gif


上一篇
rsync進階備份操作
下一篇
共享資料夾&硬碟管理總結
系列文
用自組NAS亂玩unRaid31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言