使用WebDAV自动备份Hexo博客到InfiniCloud
使用WebDAV自动备份Hexo博客到InfiniCloud
XR在维护博客时,备份是一个被很多人忽视但非常关键的环节。作为 Hexo 博客用户,我选择将博客目录自动备份到 InfiniCloud(它支持 WebDAV 协议)。这篇文章将完整记录我在 Ubuntu VPS 上的自动化备份流程。
🌐 背景说明
- 博客框架:Hexo
- 系统环境:Ubuntu
- 备份目标:将
/opt/HexoBlog目录打包备份上传到 InfiniCloud 网盘 - 同步方式:WebDAV 挂载
- 执行频率:每天凌晨自动执行一次,保留最近 30 天的备份
🔧 步骤一:安装 WebDAV 支持
首先安装 davfs2 工具包:
1 | sudo apt update |
安装时系统会提示:
“Should unprivileged users be allowed to mount WebDAV resources?”
请务必选择 Yes,否则普通用户无法通过脚本挂载 WebDAV。
如果你不小心选错了,可以执行以下命令重新配置:
1 | sudo dpkg-reconfigure davfs2 |
📂 步骤二:创建挂载点并配置权限
1 | sudo mkdir -p /mnt/infinicloud |
🔐 步骤三:配置 WebDAV 账户信息
WebDAV 地址与凭据如下:
- WebDAV 地址:
https://mori.teracloud.jp/dav/ - 用户名:
xxxxx - 密码(Apps Password):
xxxxxxx
在当前用户目录下创建配置文件:
1 | mkdir -p ~/.davfs2 |
添加内容如下:
1 | https://mori.teracloud.jp/dav/ xxxx xxxxxx |
保存后设置权限,确保安全:
1 | chmod 600 ~/.davfs2/secrets |
📝 步骤四:配置 /etc/fstab 实现自动挂载支持
编辑文件:
1 | sudo nano /etc/fstab |
添加以下内容:
1 | https://mori.teracloud.jp/dav/ /mnt/infinicloud davfs user,noauto 0 0 |
🛠️ 步骤五:编写自动备份脚本
创建脚本:
1 | nano ~/hexo_backup.sh |
粘贴以下内容(已按我的路径 /opt/HexoBlog 配置):
1 |
|
赋予脚本执行权限:
1 | chmod +x ~/hexo_backup.sh |
⏰ 步骤六:配置定时任务(每日自动执行)
编辑用户定时任务:
1 | crontab -e |
添加以下内容,让脚本每天凌晨2点执行:
1 | 0 2 * * * /home/你的用户名/hexo_backup.sh |
替换路径中的
你的用户名为你系统中的实际用户名。
✅ 最后一步:测试功能是否正常
测试挂载:
1 | mount /mnt/infinicloud |
返回 /mnt/infinicloud is a mountpoint 即挂载成功。
测试脚本运行:
1 | bash ~/hexo_backup.sh |
查看备份文件:
1 | ls /mnt/infinicloud/HexoBackup_*.tar.gz |
查看日志:
1 | cat ~/hexo_backup.log |
🎉 总结
至此,我们完成了将 Hexo 博客目录 /opt/HexoBlog 定期备份到 InfiniCloud 网盘的全自动流程。这种方式安全、稳定,不依赖 GUI 和第三方同步工具,适合部署在 VPS 或远程服务器上使用。
欢迎留言交流你的自动化备份方案 🚀







