Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # Use this script to perform backups of one or more MySQL databases.
- #
- # Databases that you wish to be backed up by this script. You can have any number of databases specified; encapsilate each database name in single quotes and separate each database name by a space.
- #
- # Example:
- # databases=( '__DATABASE_1__' '__DATABASE_2__' )
- databases=()
- # The host name of the MySQL database server; usually 'localhost'
- db_host="localhost"
- # The port number of the MySQL database server; usually '3306'
- db_port="3306"
- # The MySQL user to use when performing the database backup.
- db_user="backups"
- # The password for the above MySQL user.
- db_pass=""
- # Directory to which backup files will be written. Should end with slash ("/").
- backups_dir="/home/backups/db/"
- backups_user="backups"
- # Date/time included in the file names of the database backup files.
- datetime=$(date +'%Y-%m-%dT%H:%M:%S')
- for db_name in ${databases[@]}; do
- # Create database backup and compress using gzip.
- mysqldump -u $db_user -h $db_host -P $db_port --password=$db_pass $db_name | gzip -9 > $backups_dir$db_name--$datetime.sql.gz
- done
- # Set appropriate file permissions/owner.
- chown $backups_user:$backups_user $backups_dir*--$datetime.sql.gz
- chmod 0400 $backups_dir*--$datetime.sql.gz
Add Comment
Please, Sign In to add comment