博主头像
Observer's Space

宇宙中的观星者|本站由YxVM.com特别赞助!

使用Filen CLI定时备份服务器数据

这一篇文章没有docker了,docker方便又无聊,很多服务的部署讲来讲去就那样,Caddy的反代只有一行,更没营养,所以讲点别的吧。
今天的主角是德国的加密云盘filen.io,定价宜人,虽然对于大量存储而言比不上Storj B2 OVH这些便宜的对象存储有竞争力,个人使用也算是便宜大碗该有的都有,不像Proton Drive一样是个挂着加密噱头的半成品。尽管由于加密的特性不支持WebDAV挂载,Filen团队还是别出心裁地开发了一套命令行工具――Filen CLI,让用户可以实现云盘挂载到本地目录的同时,还提供了在本地运行支持WebDAV和S3协议的Filen镜像服务器的功能,用户登录镜像服务器的WebDAV或S3地址,即可轻松挂载Filen云存储到其他设备(具体的操作,等有空了另写一篇)。Filen给免费用户的空间也十分慷慨,初始10 GB,后续可以通过邀请码邀请新用户注册,双方都可以额外获得10 GB,免费用户的空间最高可以达到50GB。有兴趣的朋友可以试一试用我的邀请码注册,即可获得20 GB的免费空间。需要注意的是,Filen的TOS明确禁止一人持有多个免费账户,想要薅羊毛的还是谨慎。
言归正传,接下来我们进入使用场景:Filen账号1个,Linux VPS 1台,VPS上运行着一项服务,数据位于文件夹/path/to/myservice,此时我们希望做到的是:每天凌晨2点自动备份该文件夹中的数据到Filen云端,VPS本地数据覆盖Filen云端数据。
连接服务器,执行命令curl -sL https://filen.io/cli.sh | bash,安装Filen CLI。
安装完成后即可通过filen [options...]与Filen CLI交互。
第一次使用应该会要求输入账号和密码(还有2FA code,如果你设置了的话),并且询问是否保存。因为我们要让filen同步命令每天运行,所以就选择保存,以后需要删除的话可以用filen delete-credentials这条命令删掉。
nano 一个 sync 脚本sync-local-to-cloud.sh

export PATH=$HOME/.filen-cli/bin:$PATH 
#这个很重要,不然会出现command not found的报错
  
SERVICE_DATA_DIR="/path/to/myservice" #需要备份的数据目录
  
REMOTE_FILEN_DIR="/myserverdata/myservice" #远端目录
  
# Sync the folder to Filen
filen sync $SERVICE_DATA_DIR:ltc:$REMOTE_FILEN_DIR
#ltc的意思是local to cloud,本地同步到云端

Filen命令行官方教学:https://docs.filen.io/docs/cli/
然后使用crontab -e设置定时任务:

00 2 * * * /root/sync-local-to-cloud.sh >> /root/sync.log 2>&1
#每天2点运行一次备份脚本,并且输出log到指定的文件sync.log

大功告成!
第二天早上起来,记得看看log里是否有成功备份的记录。

使用Filen CLI定时备份服务器数据
https://obsp.de/index.php/archives/filen-cli-backup.html
本文作者 神木友希
发布时间 2025-02-16
许可协议 CC BY-NC-SA 4.0
仅有 1 条评论
  1. 评论头像

    [...]}配置好一起启动:docker compose up -d && systemctl reload caddy访问https://vw.mydomain.org/asuperrandomstring/,创建账号,导入密码,不再赘述。创建完所有需要的账号之后,记得关闭访客注册~关闭访客注册的方式是docker compose down,然后修改docker-compose.yaml中[...]

发表新评论