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