Skip to content

Instantly share code, notes, and snippets.

@ahmadawais
Created October 15, 2017 12:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahmadawais/ba13ffb3808d58ab0d5de1875d6a3b3d to your computer and use it in GitHub Desktop.
Save ahmadawais/ba13ffb3808d58ab0d5de1875d6a3b3d to your computer and use it in GitHub Desktop.
Backup your entire Linux/Ubuntu server to Dropbox.
#!/bin/bash
# Backup CLI.
# Backup your entire Linux/Ubuntu server to Dropbox.
## Dropbox Uploader: https://github.com/andreafabrizi/Dropbox-Uploader
# EDIT the following.
BACKUP_SRC="/root /etc /home"
BACKUP_DST="/tmp"
MYSQL_SERVER="127.0.0.1"
MYSQL_USER="ADD_ROOT_USER_HERE"
MYSQL_PASS="ADD_PASS_HERE"
VPS_ID="ANY_SERVER_NAME"
# Stop editing here.
# DESTFILE="$BACKUP_DST/$NOW.tgz"
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$VPS_ID.$NOW.tgz"
# Backup files.
clear
echo "---"
echo "---------- DATABASES: Backup started... ----------"
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
echo "---------- DATABASES: ✅ Backup done... ----------"
echo "---"
echo "---------- FILES: Backup started... ----------"
tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"
echo "---------- FILES: ✅ Backup done... ----------"
# Upload to dropbox. make sure the following line points to the correct dropbox_uploader.sh location.
echo "---"
echo "---------- UPLOAD: Started... ----------"
/root/dropbox_uploader.sh upload "$DESTFILE"
echo "---------- UPLOAD: ✅ Done... ----------"
echo "---"
# Remove temporary files.
echo "---"
echo "---------- CLEANING: Started... ----------"
rm -f "$NOW-Databases.sql" "$DESTFILE"
echo "---------- CLEANING: ✅ Done... ----------"
echo "---"
echo "----------------------------------------------------------------------"
echo "---------- ✅✅✅✅✅✅ DONE 🎉 : Backuped and uploaded! ----------"
echo "----------------------------------------------------------------------"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment