Files
pangolin/.gitea/workflows/backup.yml
T

40 lines
1.0 KiB
YAML

name: DB Backup
on:
# 每日北京 02:00(= UTC 18:00)自动备份;也可手动触发。
schedule:
- cron: '0 18 * * *'
workflow_dispatch:
concurrency:
group: db-backup
cancel-in-progress: false
jobs:
backup:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Backup pangolin1 SQLite → NAS
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
run: |
mkdir -p /volume1/docker/backups/pangolin
bash scripts/ci/backup-db.sh 2>&1 | tee /volume1/docker/backups/pangolin/_last-run.log
exit "${PIPESTATUS[0]}"
- name: Notify (Telegram)
if: always()
env:
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
run: |
. scripts/ci/notify.sh
if [ "${{ job.status }}" = "success" ]; then
notify_ok "pangolin1 SQLite 备份成功(NAS)"
else
notify_fail "pangolin1 SQLite 备份失败"
fi