使用unraid这么久以来,体验感很好,只是偶尔手贱会弄崩系统,如果没有备份的话,重新配置一整页几十个的docker以及虚拟机着实有些吃力。于是,我给appdata、system、domains三个文件夹放到了固态cache上还不放心,两张固态cache组了raid1。系统内docker和虚拟机的配置是保住了,又开始担心u盘哪天不知道会挂掉。
之前群友就有说,为什么unraid不能出一个功能,即两个盘互为备份呢?期待unraid出这个功能不知道猴年马月,倒不如自己想想办法怎么备份u盘中/boot文件的内容。
官方在u盘界面有一个FLASH备份按钮,我感觉可有可无,你总不可能预感到某天自己的unraid要宕机了先备份一下!但是自己在折腾前备份一下,这个功能确实是很有用。
unraid自带的备份按钮
我下面介绍一种利用rclone将你本地文件夹备份到你挂载webdav云盘的方法,填到User Scripts插件中可以实现自动定时备份!不仅能备份 u盘内容,任何unraid的文件夹其实都能通过这个方法来备份到云盘。
我用的是阿里云盘,其实你能挂载的任何云盘,理论上都是可以的。
利用User Scripts插件自动执行任务
阿里云中的备份
User Scripts跑完任务,我的阿里云盘就出现了这个备份文件,每次运行任务会自动覆盖。
配置前,本文默认你已经配置好了webdav,将你的网盘挂载到了webdav软件上,我这里使用的是alist这个docker软件挂载我的阿里云盘到webdav上的,你可以选择你自己喜欢的webdav软件,这里没有要求。
首先打开unraid,去apps市场安装rclone,插件版。
插件版
安装完成就可以打开unraid自带终端,输入rclone config开始配置。
输入n,新建一个remote,取个名字,随便填就行。我已经添加阿里云盘了,这里用百度云盘来举个栗子。
新建一个remote
然后选到40,webdav;url填一下你webdav的路径,比如我填内网的webdav路径就行了;vendor选到5。
选择远程连接的类型
然后填一下你的user和password,就是你webdav的账号密码。
填你的账号密码
后面一路回车,到最后按q退出,就算是设置好了。
按q退出就行了
测试一下百度云webdav有没有被rclone挂载成功,使用这个rclone ls命令,
rclone ls baiduyun:百度云盘里面的某个文件夹
效果如下,能列出了我百度云中music文件夹下的歌,那就是成了。
rclone ls
我在unraid本地新建了一个backup文件夹,路径为/mnt/user/data/backup,又新建了一个boot文件夹,我计划把/boot目录打包放到/mnt/user/data/backup/boot这个目录下,命令为:
tar -czvf /mnt/user/data/backup/boot/boot.tar.gz /boot
跑完,在我/mnt/user/data/backup/boot出现了boot.tar.gz这个文件。
再使用rclone copy命令将本地/mnt/user/data/backup/boot的boot.tar.gz文件复制到百度云盘,
rclone copy /mnt/user/data/backup/boot/boot.tar.gz baiduyun:unraid_backup
跑完,在我百度云盘的unraid_backup文件夹下也出现了boot.tar.gz这个文件。
最后,我们添加一下自动脚本。
打开User Scripts插件,两行代码合成一条,用 && 连接,就是:
tar -czvf /mnt/user/data/backup/boot/boot.tar.gz /boot && rclone copy /mnt/user/data/backup/boot/boot.tar.gz aliyun:unraid_backup
然后再设置一下每周跑一次,可以实现每周自动备份。
User Scripts
完结撒花~
不光是/boot文件夹,同理,appdata文件夹已经其他的文件夹都可以用这个方法来备份,主要用到的rclone软件也有其他的妙用。
这下不怕我的u盘坏掉了
考虑到评论区小伙伴说加密的事情,特地找了值得买小编,申请重新编辑一下图文内容,追加下面部分。
因为不放心存在某度云盘或者某里云盘,想要加密打包内容,跟着下面走就是了。
tar打包命令,加密其实很方便,如下,简单修改之后,对文件进行了加密,并且我增加了时间戳,是不是更方便了
打包
命令如下,其中password可以修改为自己的密码
tar -czvf - /boot | openssl des3 -salt -k password | dd of=/mnt/user/data/backup/boot/boot-$(date +"%Y-%m-%d").tar.gz
如需解压也很简单,cd到对应的备份保存目录下,输入:
openssl des3 -d -k password -salt -in 你的文件.tar.gz | tar xzvf -
具体文件名称自行修改,如下图。
解压
解压前后:
解压前
解压后
现在功能是不是比unraid自带备份插件要强了呢~其实不仅加密、时间戳,甚至我能想到的是每次备份之后通过server酱或者bark或者企业微信给你发送备份完成通知等,完整做起来应该会是和很好的小脚本
先到这里,拜拜~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
联系客服