1.下载AutoMySQLBackup
http://sourceforge.net/projects/automysqlbackup/
2.解压缩
把下载的automysqlbackup-v3.0_rc6.tar.gz文件拷贝到/usr/tmp下面
在/usr/local下面新建一个automysqlbackup文件夹,并进入这个文件夹
cd /usr/local
mkdir automysqlbackup
cd automysqlbackup
然后tar解压缩一下。
tar -xzvf /usr/tmp/automysqlbackup-v3.0_rc6.tar.gz
3. 安装
安装一下,命令为
./install.sh
中途会有两个询问配置文件安装目录的地方,之间回车就好
我们先到/etc/automysqlbackup下面看看有什么东西好了
cd /etc/automysqlbackup
ls
4.修改配置文件
我们要用到的是automysqlbackup.conf文件:
文件里有一些基本的配置信息,比如连接mysql server的用户名、密码、IP地址神马的。
# Username to access the MySQL server e.g. dbuser
CONFIG_mysql_dump_username='root'
# Password to access the MySQL server e.g. password
CONFIG_mysql_dump_password='1234'
# Host name (or IP address) of MySQL server e.glocalhost
CONFIG_mysql_dump_host='localhost'
继续,有个重要的配置,就是backup存放的地方咯!
# Backup directory location e.g /backups
CONFIG_backup_dir='/var/backup/db'
往下看,还有你要配置的database的名称,当然可以精确到表名,也可以只指定到database的名称。或者干脆直接留空,不过留空的话会默认备份所有的数据库……这样磁盘可能会爆炸吧……
# Databases to backup
# List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... )
# set to (), i.e. empty, if you want to backup all databases
CONFIG_db_names=()
# You can use
#declare -a MDBNAMES=( "${DBNAMES[@]}" 'added entry1' 'added entry2' ... )
# INSTEAD to copy the contents of $DBNAMES and add further entries (optional).
# List of databases for Monthly Backups.
# set to (), i.e. empty, if you want to backup all databases
CONFIG_db_month_names=()
# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'wiqun' )
另外,还有配置weekly、monthly、daily之类的时间间隔的设置
# Rotation Settings
# Which day do you want monthly backups? (01 to 31)
# If the chosen day is greater than the last day of the month, it will be done
# on the last day of the month.
# Set to 0 to disable monthly backups.
CONFIG_do_monthly="22"
# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
# Set to 0 to disable weekly backups.
CONFIG_do_weekly="7"
# Set rotation of daily backups. VALUE*24hours
# If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed.
CONFIG_rotation_daily=7
# Set rotation for weekly backups. VALUE*24hours
CONFIG_rotation_weekly=35
# Set rotation for monthly backups. VALUE*24hours
CONFIG_rotation_monthly=150
前两个都比较好理解,就是每个月或者每一周的什么时候进行自动备份,如果不想使用每周备份或者每月备份的话,相应的地方设置0即可。那么后面的rotation又是什么意思呢?其实就是日志保存的期限啦。
比如说CONFIG_rotation_weekly=35的意思就是说按周存储的备份最多保留35天。
再继续,可以配置发送邮件的一些配置,比如邮件地址啦、还有附件的内容啦
# What would you like to be mailed to you?
# - log : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
CONFIG_mailcontent='files'
# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])
CONFIG_mail_maxattsize=4000
# Allow packing of files with tar and splitting it in pieces of CONFIG_mail_maxattsize.
CONFIG_mail_splitandtar='yes'
# Use uuencode instead of mutt. WARNING: Not all email clients work well with uuencoded attachments.
#CONFIG_mail_use_uuencoded_attachments='no'
# Email Address to send mail to? (user@domain.com)
CONFIG_mail_address='elarwei@gmail.com'
关闭ssl支持
# Use ssl encryption with mysqldump?
CONFIG_mysql_dump_usessl='no'
添加定时任务
crontab -e
0 */1 * * * automysqlbackup /etc/automysqlbackup/myserver.conf
每小时执行一次