翻车操作不可有,翻车意识不可无。

书接上文,数据备份方案,后来我又陆续添加了使用bypy备份到百度网盘的方案和使用Webdav挂载阿里云盘,再用Rclone备份的方案。至此应该算是很稳了,但是总还是会心有戚戚焉,于是就有了今天这篇文章。

受益于甲骨文Oracle的免费大盘鸡,我有了可以用来硬盘备份的服务器,虽然也是免费的,会翻车,但是多套方案下来,一起翻车的概率不是很大,唯一受限的可能只有Onedrive的API了。

服务器多备份的思路是这样:因为Onedrive有概率翻车,因此直接使用Rclone Sync可能会导致所有被Sync的目录也同时挂掉。因此需要一个冷备目录,保证即使Sync把本地目录也同步没了,也不会导致冷备的目录文件挂掉,留一个备份是一个保险。当然最保险的还是买个硬盘存起来,但是我快毕业了,懒得折腾了,等以后上班了再继续折腾树莓派。

我的想法是,按日期建档,保留前一天的存档,更新今天的文件。比如说今天是1月4号,那么冷备的目录就是1月3号的文件,而热备的目录就是今天的文件。这样当我发现Rclone挂掉,就有一天的缓冲时间Download我的数据,尽可能避免损失吧。

实现的脚本主要依赖Linux的date命令,脚本如下:

#获取今天的日期,格式如20220104
daten=$(date -d "now" +%Y%m%d)
#获取昨天的日期
datey=$(date -d "1 days ago" +%Y%m%d)
#获取前天的日期
datet=$(date -d "2 days ago" +%Y%m%d)
#将前天的文件夹改名为今天的,减少流量损耗
mv /odbackup/od-$datet /odbackup/od-$daten
#备份
rclone --exclude /Gridea/ sync od:/ /odbackup/od-$datey/ --transfers 2 --checkers 2 -v --ignore-checksum --ignore-size --user-agent "ISV|rclone.org|rclone/v1.57"

备份存储目录为/odbackup,备份数量可以根据自己的需求改。