在 VPS 部署有状态的小项目时,数据备份是常见需求。可以借助 curl,将打包后的数据上传到支持 WebDAV 的云存储服务,并结合 cron 实现每日自动备份。
本文以坚果云为例。确保已启用 WebDAV 并准备好用户名与专用密码。
在 /etc/cron.daily
创建脚本 bitwarden-backup
:
#!/bin/sh
set -e
filename="bitwarden-`date +%F`.tar.gz"
cd /opt/bitwarden
tar czf "${filename}" bitwarden-data/
curl -u "USERNAME:APP_PASSWD" -T "${filename}" "https://dav.jianguoyun.com/dav/bitwarden/"
rm "${filename}"
赋予执行权限:
chmod a+x /etc/cron.daily/bitwarden-backup
建议将凭据存放于受限权限的配置文件,或改用 curl --netrc-file
避免明文写入脚本。