在 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 避免明文写入脚本。