67 lines
2.4 KiB
Bash
67 lines
2.4 KiB
Bash
###############################################################################
|
|
#Hourly wordpress backup script
|
|
#
|
|
#Make sure that install-backup-tools.sh has ran for this site configureation
|
|
#
|
|
#
|
|
###############################################################################
|
|
## Automation
|
|
##
|
|
## Edit contab (nano /etc/crontab)
|
|
## Restart crontab (/etc/init.d/cron restart)
|
|
##
|
|
#################################################################################
|
|
|
|
|
|
##Configuration
|
|
|
|
DOMAIN=<domain.com> #DomainName
|
|
SITENAME=<name> #Name of site that will be backed up
|
|
BACKUPFROM="/etc/nginx/ /etc/apache2/ /etc/php/ /etc/mysql/ /etc/crontab /var/www/"$DOMAIN"/" #Folders and files that will be backed
|
|
BACKUPTO="/backup" #Please enter path without tailing slash
|
|
DBNAME=<DBName> #Database that will be backed up
|
|
DBPASS='<MSQLRootPW>' #MySQL Root password (syntax '<MSQLRootPW>')
|
|
|
|
SYSBACKUP=1 #Enable or disable file backups
|
|
BDBACKUP=1 #Enable or disable database backups
|
|
AI1MBACKUP=1 #Enable or disable Ai1M backups
|
|
|
|
|
|
#############################################################################
|
|
## #
|
|
## PLEASE DO NOT MAKE CHANGES UNDER HERE #
|
|
## #
|
|
#############################################################################
|
|
|
|
|
|
##Setting Static Variables
|
|
LFTP=/usr/bin/lftp #Path to binary
|
|
TMPDIR=$(mktemp -d) #Your archives are here
|
|
BACKUPTO=${BACKUPTO}/$(date +"%H") #Sends everything in this folder to ftp
|
|
|
|
|
|
mkdir -p ${BACKUPTO}
|
|
|
|
#AI1M backup
|
|
if [ $AI1MBACKUP = 1 ]; then
|
|
sudo -u www-data wp --path=/var/www/"$DOMAIN"/html plugin update all-in-one-wp-migration-unlimited-extension
|
|
sudo -u www-data wp --path=/var/www/"$DOMAIN"/html plugin update all-in-one-wp-migration
|
|
cd /var/www/"$DOMAIN"/html
|
|
sudo -u www-data wp ai1wm backup
|
|
mv /var/www/"$DOMAIN"/html/wp-content/ai1wm-backups/*.wpress "$TMPDIR"
|
|
cd $TMPDIR
|
|
tar -zcf /"$BACKUPTO"/"$SITENAME"-ai1wm.tar.gz -C $TMPDIR *.wpress #Create ai1wm tar File
|
|
rm -f /"$TMPDIR"/*.wpress
|
|
fi
|
|
|
|
#Database Backup
|
|
if [ $BDBACKUP = 1 ]; then
|
|
mysqldump -u root "$DBNAME" --password="$DBPASS" > "$TMPDIR"/"$SITENAME".sql #Dumping DB
|
|
tar -zcf /"$BACKUPTO"/"$SITENAME"-DB.tar.gz -C "$TMPDIR" *.sql #Create tar File
|
|
fi
|
|
|
|
if [ $SYSBACKUP = 1 ]; then
|
|
tar -zcf /"$BACKUPTO"/"$SITENAME"-Files.tar.gz $BACKUPFROM #Create tar File
|
|
fi
|
|
|
|
rm -r "$TMPDIR" |