Skip to content

Commit

Permalink
feat: add ftp backup database github workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Leoglme committed Jan 9, 2024
1 parent d645878 commit 50a8dc8
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 3 deletions.
40 changes: 40 additions & 0 deletions backup-ftp-database.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Backup MariaDB Database FTP
on:
schedule:
- cron: '0 */12 * * *' # Run every 12 hours, backup at 00:00 and 12:00 each day
workflow_dispatch:

jobs:
backup_database:
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install MariaDB Client and Gzip
run: sudo apt-get update && sudo apt-get install -y gzip mariadb-client

- name: MySQLDump - Connect Database and Backup MariaDB Database FTP
run: |
mkdir backup_database && cd backup_database
FILENAME="database_${{ secrets.DATABASE_DB_NAME }}_backup-$(date +%d-%m-%Y-%H-%M-%S).sql.gz"
mysqldump \
--host='${{ secrets.DATABASE_HOST }}' \
--user='${{ secrets.DATABASE_USERNAME }}' \
--password='${{ secrets.DATABASE_PASSWORD }}' \
--databases ${{ secrets.DATABASE_DB_NAME }} | gzip > $FILENAME
- name: Set the current date and time
run: echo "CURRENT_DATETIME=$(date +%d-%m-%Y-%H-%M-%S)" >> $GITHUB_ENV

- name: Deploy backup .sql to FTP
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.SERVER_FTP_HOST }}
username: ${{ secrets.SERVER_FTP_USERNAME }}
password: ${{ secrets.SERVER_FTP_PASSWORD }}
port: ${{ secrets.SERVER_FTP_PORT }}
protocol: ftp
local-dir: ./backup_databases/
server-dir: backup_databases/
state-name: .ftp-deploy-sync-state-${{ secrets.DATABASE_DB_NAME }}-${{ env.CURRENT_DATETIME }}.json
6 changes: 3 additions & 3 deletions nuxtjs3/deploy-vps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 📥 Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: ⚙️ Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18

Expand Down Expand Up @@ -59,4 +59,4 @@ jobs:
script: |
cd /var/www/dibodev.com/html/.output
npm install
pm2 restart dibodev.com || pm2 start server.js --name dibodev.com
pm2 restart dibodev.com || pm2 start server.js --name dibodev.com

0 comments on commit 50a8dc8

Please sign in to comment.