Skip to content

Instantly share code, notes, and snippets.

@sdiama
Created August 22, 2018 15:34
Show Gist options
  • Save sdiama/c91ed763b8da1aa53e612ec05d497048 to your computer and use it in GitHub Desktop.
Save sdiama/c91ed763b8da1aa53e612ec05d497048 to your computer and use it in GitHub Desktop.
Backup of Web Server files and Mysql database
#!/bin/bash
today=`date +'%Y%m%d'`
cd /HOME_DIR
echo
echo Backing up Files of Server Config
echo ---------------------------------
zip -r my-server_config-$today.zip /etc/apache2/.
echo
echo FTPing Files Backup of Server Config
echo ------------------------------------
lftp -u 'USERNAME,PASSWORD' FTP_SERVER:FTP_PORT -e "set ftp:ssl-allow no; cd REMOTE_DIR; mput /HOME_DIR/my-server_config-$today.zip; exit"
rm my-server_config-$today.zip
echo
echo Backing up Server Files
echo -----------------------
zip -r my-files-$today.zip /SERVER_DIR/.
echo
echo FTPing Server Files Backup
echo --------------------------
lftp -u 'USERNAME,PASSWORD' FTP_SERVER:FTP_PORT -e "set ftp:ssl-allow no; cd REMOTE_DIR; mput /HOME_DIR/my-files-$today.zip; exit"
rm my-files-$today.zip
echo
echo Checking Database
echo -----------------
mysqlcheck -r -hDB_IP -uDB_USER -pDB_PASS DB_NAME
mysqlcheck -o -hDB_IP -uDB_USER -pDB_PASS DB_NAME
echo
echo Backing up Database
echo -------------------
mysqldump -hDB_IP -uDB_USER -pDB_PASS DB_NAME --allow-keywords | gzip > my-db-$today.sql.gz
echo
echo FTPing Database Backup
echo ----------------------
lftp -u 'USERNAME,PASSWORD' FTP_SERVER:FTP_PORT -e "set ftp:ssl-allow no; cd REMOTE_DIR; mput /HOME_DIR/my-db-$today.sql.gz; exit"
rm my-db-$today.sql.gz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment