Skip to content

Instantly share code, notes, and snippets.

@instantdreams
Created January 6, 2022 23:44
Show Gist options
  • Save instantdreams/1f9eab4e9095b181e41ebef2f2bd506a to your computer and use it in GitHub Desktop.
Save instantdreams/1f9eab4e9095b181e41ebef2f2bd506a to your computer and use it in GitHub Desktop.
Backup entire NPM configuration to a set location
#!/bin/bash
# Script location : /srv/bin/npm_backup.sh
# npm_home : Location of nginx-proxy-manager installation
# backup_target : Folder name for backup
npm_home=/srv/nginx-proxy-manager
backup_target=/media/Backups/nginx-proxy-manager
# Import protected variables
source /srv/bin/.env
# Create Backup
cd "$npm_home"
echo "[`date -Iseconds`] Backing up $npm_home/data/ to $backup_target/data/"
cp "$npm_home/data/." "$backup_target/data/." --recursive
echo "[`date -Iseconds`] Backing up $npm_home/letsencrypt/ to $backup_target/letsencrypt/"
cp "$npm_home/letsencrypt/." "$backup_target/letsencrypt/." --recursive
echo "[`date -Iseconds`] Backing up $npm_db_name to $backup_target/npm-export.sql"
docker exec -it $npm_db_name mysqldump --user=$mysql_user --password=$mysql_pass $mysql_db -h 127.0.0.1 > "$backup_target/npm-export.sql"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment