在某个目录(如: /usr/mysql)下创建3个文件
1、mysql对应的配置文件
vi my_mysql.cnf
[mysqldump]
max_allowed_packet = 1024M
host=127.0.0.1
user=root
password='123456'
[mysql]
host=127.0.0.1
user=root
password='123456'
2、导出mysql数据对应的shell脚本
vi my_mysqldump.sh
db_name='database-name'
backup_dir='/usr/mysql/data/'
current_time=$(date +'%Y-%m-%d_%H%M%S')
filepath=$backup_dir$current_time'.sql.gz'
mysqldump --defaults-extra-file=/usr/mysql/my_mysql.cnf $db_name | gzip > $filepath
修改文件为可执行文件
chmod +x ./my_mysqldump.sh
3、定时清理备份的数据库shell脚本(删除某目录下N天前带"."的备份文件)
vi my_removesql.sh
find /usr/mysql/data/ -type f -name "*.*" -mtime +N(天数) | xargs rm -f
修改文件为可执行文件
chmod +x ./my_removesql.sh
4、设置定时任务,定时备份与清理
crontab -e
* 1,12 * * * /usr/mysql/my_mysqldump.sh
* 2 * * * /usr/mysql/my_removesql.sh
5、数据恢复
sh ./mysql_restore.sh **sql.gz