Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Enumerates the ISPConfig database for sites to backup and upload to Amazon S3
- main() {
- #Defaults
- dbserver=127.0.0.1
- user=backupuser
- password=MyPassword
- bakdir=/tmp/
- comp_pgm='xz -9e'
- comp_ext=xz
- bucket=MyBucket
- for site in `mysql -h $dbserver -u $user -p$password dbispconfig -Bse 'select CONCAT_WS(",",domain,system_user,system_group,document_root) from web_domain where type="vhost";' `
- do
- #if [ "$tbl" == "information_schema" ] || [ "$tbl" == "performance_schema" ] || [ "$tbl" == "mysql" ] || [ "$tbl" == "test" ]
- #then
- # continue
- #fi
- site_backup "$site"
- #echo "Backing up database: $tbl"
- #mysql_backup "$tbl"
- #s3cmd --encrypt put $filename s3://$bucket
- #rm $filename
- done
- }
- ## Create a compressed copy of the public web folder
- ## untar backup to folder tar xf backup.tar.xz -C /destination
- function site_backup {
- domain=`echo $1 | cut -d, -f1`
- user=`echo $1 | cut -d, -f2`
- group=`echo $1 | cut -d, -f3`
- folder=`echo $1 | cut -d, -f4`
- ## Filename with date.
- filename=$bakdir$domain-$user-$group-`/bin/date +\%Y\%m\%d`.tar
- ## Filename without date.
- #filename=$bakdir$domain-$user-$group.tar
- echo "Compressing: $domain"
- tar -cf $filename -C $folder/web .
- pxz -z -9e $filename
- #lrzip -L 9 $filename -o $filename.lrzip
- ## Reduced Redundancy for backups less than 30 days. Use Infrequent Access/Glacier for > 30 days
- s3cmd --encrypt --server-side-encryption --storage-class=STANDARD --acl-private put $filename.xz s3://$bucket/sites/$domain/
- #rm $filename
- rm $filename.xz
- }
- ## NOT USED IN THIS SCRIPT
- ## Create a compressed copy of mysql database and store it in var filename
- function mysql_backup {
- filename=$bakdir$1-hosting1-`/bin/date +\%Y\%m\%d`.sql.$comp_ext
- mysqldump --no-create-db \
- --opt \
- --add-drop-table \
- -Q \
- -h $dbserver \
- -u $user \
- -p$password \
- $1 | \
- $comp_pgm > \
- $filename
- }
- main "$@"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement