這篇是把 Synology NAS 上的資料透過 rsync 方式備份到遠端 rsync server 的記錄
[ 基本準備 ]
clinet 端 :Synology NAS DS918+
- IP: 192.168.11.201
- 安裝 Photo Staiton, 開啟個人相簿功能
- 安裝媒體伺服器, 會建立 video, music 等公用資料夾
- 啟動 ssh 功能 (控制台 > 終端機與SNMP > 終端機)
server 端 :J1900 安裝 Ubuntu 18.04
- IP: 192.168.11.202
- 將 /dev/sdb2 掛到 /backup, 使用者 synology 家目錄為 /backup, 也是 rsync 模組 synology 的主目錄
- 使用者 ghosty, 家目錄為 /home/ghosty
- 建立 /home/ghosty/synology, 這是 rsync 模組 ghosty 的主目錄
- 建立 /home/ghosty/synology/ghosty 目錄, 這是用來放 NAS 的個人資料
注意事項:
- NAS 的 rsync client 只能在 server 端建立一層目錄, 所以若有多層目錄, 必須先自行手動建立
- J1900 安裝兩顆硬碟, 不使用 hardlink 的話, 須建立兩個 rsync 模組來對應兩個目錄
以下步驟, 準備將 NAS 個人相簿備份到 J1900 的個人帳號家目錄下, 媒體伺服器的 video 備份到 J1900 的 /backup 目錄下
[ J1900 server 端設定步驟 ]
設定開機啟動 rsync server:
$sudo vi /etc/init.d/rsync
將 RSYNC_ENABLE= false 改成 true
建立 /etc/rsync.conf 檔案:
$sudo vi /etc/rsyncd.conf
輸入以下內容 :
ock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
[synology]
path = /backup/synology
comment = synology backup folder
uid = synology
gid = synology
read only = no
list = yes
auth users = synology
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.11.0/255.255.255.0
[ghosty]
path = /home/ghosty/synology
comment = synology backup folder
uid = ghosty
gid = ghosty
read only = no
list = yes
auth users = ghosty
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.11.0/255.255.255.0
|
以上設定重點為:
建立 /etc/rsyncd.secrets 檔案:
$sudo vi /etc/rsyncd.secrets
輸入以下內容 :
synology:synology
ghosty:synology
|
以上每行的格式為 '模組名稱:密碼', 對應 /etc/rsync.conf 的設定, 而不是 linux 系統的帳密
更改 /etc/rsyncd.secrets 的權限:
在 /etc/rsync.conf 的設定中, 兩個模組使用同一個 secrets file = /etc/rsyncd.secrets
因 rsync server 運作時要求 secrets file 不可以有 other 權限, 否則會報錯誤訊息 secrets file must not be other-accessible, 因此須設定檔案權限:
$sudo chmod 600 rsyncd.secrets
重新啟動 rsync daemon:
$sudo /etc/init.d/rsync restart
[ NAS client端設定步驟 ]
建立各模組的對應 secret file:
sudo vi ~/rsyncd.secrets
輸入以下內容 :
synology
|
以上內容即為登入 rsync server 模組時用到的密碼, 如果每個模組密碼不同, 可建立多個 rsyncd.secrets 與之對應, 例如 rsyncd.secrets.synology, rsyncd.secrets.ghosty
建立測試環境變數:
因 Synology NAS 預設將第一個儲存集區放在 /volume1, 為方便調整多集區的使用, 先設定變數 srcRoo1 與 srcRoo2:
$srcRoot1=/volume1
$srcRoot2=/volume3
測試 Photo Station 建立的個人相簿目錄是否可以同步:
$rsync -avh $srcRoot1/homes/ghosty/photo/* --password-file ~/rsyncd.secrets ghosty@192.168.11.202::ghosty/ghosty/photo
用 ssh 登入 Server 端, 檢查資料是否有複製過去:
$cd ~/synology/ghosty
$ls -l
如果photo 目錄已被建立成功, 則可回到 NAS 端, 按下Ctrl-C 將測試指令停止執行,
並回到 Server 端刪除個人photo目錄下所有測試檔案:
$rm -r ~/synology/ghosty/*
[ NAS 端排程設定 ]
建立 [使用者定義指令碼] 排程任務:
名稱:J1900_ghosty-photo
使用者帳號:ghosty (這是 NAS 端啟動排程時本地端的帳號, 與本地端使用者權限有關)
使用者定義指令碼:sh /volume1/mybackup/tasks/backup_J1900_ghosty-phpto.sh
backup_J1900_ghosty-phpto.sh 內容:
#!/bin/sh
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8
#
srcRoot1=/volume1
srcRoot2=/volume2
srcRoot3=/volume3
tarRoot1=/volumeUSB1/usbshare
tarRoot2=/volume3/Temp
exclude='#recycle'
rsync -avh $srcRoot1/homes/ghosty/photo/* --password-file ~/rsyncd.secrets ghosty@192.168.11.202::ghosty/ghosty/photo
|
排程測試:
啟動排程第一次備份, 到 Server 端檢查資料是否已經被複製過去
video備份:
步驟與個人相簿相同, 但是用 synology 模組登入 server, 以下是backup_J1900_ghosty-phpto.sh 內容:
#!/bin/sh LANG=en_US.utf8 LC_CTYPE="en_US.utf8" LC_NUMERIC="en_US.utf8" LC_TIME="en_US.utf8" LC_COLLATE="en_US.utf8" LC_MONETARY="en_US.utf8" LC_MESSAGES="en_US.utf8" LC_PAPER="en_US.utf8" LC_NAME="en_US.utf8" LC_ADDRESS="en_US.utf8" LC_TELEPHONE="en_US.utf8" LC_MEASUREMENT="en_US.utf8" LC_IDENTIFICATION="en_US.utf8" LC_ALL=en_US.utf8 # srcRoot1=/volume1 srcRoot2=/volume2 srcRoot3=/volume3 tarRoot1=/volumeUSB1/usbshare tarRoot2=/volume3/Temp exclude='#recycle' rsync -avh $srcRoot1/video/* --password-file ~/rsyncd.secrets synology@192.168.11.202::synology/video |
參考資料:
[1] "rsync server在linux(fedora&ubuntu)下的安裝與設定", https://kennyp.pixnet.net/blog/post/18303839
[2] "Linux – Rsync Daemon", http://benjr.tw/99075
[3] "rsync", Synology DSM documents, https://www.synology.com/zh-tw/knowledgebase/DSM/help/DSM/AdminCenter/file_rsync
留言列表