name: DB Backup on: # 每日定时备份(北京时间 02:00)。手动触发亦可。 schedule: - cron: '0 18 * * *' # UTC 18:00 = 北京时间 02:00 workflow_dispatch: concurrency: group: db-backup cancel-in-progress: false jobs: backup: runs-on: mac steps: - uses: actions/checkout@v4 - name: Dump MySQL to local backup dir env: # 2026-07-03 割接后备份源=阿里机主库 DEPLOY_SSH_KEY: ${{ secrets.ALI_SSH_KEY }} DEPLOY_HOST: ${{ secrets.ALI_HOST }} DEPLOY_USER: ${{ secrets.ALI_USER }} run: sh scripts/ci/backup-db.sh - name: Notify (Telegram) if: always() env: TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} run: | if [ "${{ job.status }}" = "success" ]; then ICON="✅"; LABEL="数据库备份成功"; else ICON="❌"; LABEL="数据库备份失败"; fi curl -f -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" \ -d "chat_id=${TELEGRAM_CHAT_ID}" \ --data-urlencode "text=${ICON} 岩美 ${LABEL}" > /dev/null || true