現在相信大家對於UNRAID腳本操作與撰寫更熟練了吧?
那我們就來開始利用腳本來解決問題八~
UNRAID的系統備份雖然可以手動執行:
(從MAIN頁面進到Flash設定,按下圖中的FLASH BACKUP,即可備份系統碟)
UNRAID採用USB當系統雖然易用性高,但長期讀寫也較容易壞
因此手動備份是不夠的,最好能定時備份
這樣假如損壞才可以馬上復原
PS:一定有人會說:用MY Server插件不是更方便嗎?
並不!
因為安全性的關係,它不能備份整個系統喔
所以系統復原後還要做相容性調整,不能讓機器馬上恢復工作;著實不方便
以下是程式實作的部分
程式碼的詳解我在下面都有註解,如還有不懂的地方可留言問我~
至於腳本的使用方式及程式碼撰寫練習可參考前幾天的文章
#!/bin/bash
dir="/mnt/remotes/Backup"
days=2
mkdir -p "$dir"
echo '備份檔案產生中...'
#調用系統備份PHP
/usr/local/emhttp/webGui/scripts/flash_backup
echo '產生metadata中...'
#利用emhttp產生備份檔的metadata
find /usr/local/emhttp/ -maxdepth 1 -name '*flash-backup-*.zip' -delete
sleep 5
if [ ! -d "$dir" ] ; then
echo "making directory as it does not yet exist"
mkdir -vp "$dir"
else
echo "As $dir exists continuing."
fi
echo '將產生的備份檔移至目標路徑中...'
mv /*-flash-backup-*.zip "$dir"
sleep 5
#移除$day天以前的備份檔
echo "Deleting Old Backups:$days days"
find "$dir"* -mtime +"$days" -exec rm -rfv {} \;
echo 'Successfully!'
#輸出通知欄
/usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "Flash Zip Backup" -d "System flash has been backed up" -i "normal"
exit