Skip to content

Automated Database Backup #89

Automated Database Backup

Automated Database Backup #89

Workflow file for this run

name: Automated Database Backup
on:
schedule:
# Run daily at 02:00 AM UTC
- cron: '0 2 * * *'
workflow_dispatch: # Enable manual trigger from the Actions tab
jobs:
db-backup:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install database clients and aws-cli
run: |
sudo apt-get update
sudo apt-get install -y postgresql-client awscli
- name: Run Database Backup Script with Replication
env:
DB_USER: ${{ secrets.DB_USER }}
DB_HOST: ${{ secrets.DB_HOST }}
PGPASSWORD: ${{ secrets.DB_PASSWORD }}
UPLOAD_TO_S3: 'true'
S3_BUCKET_NAME: ${{ secrets.S3_BACKUP_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}
run: |
chmod +x ./scripts/backup-databases.sh
./scripts/backup-databases.sh