Linux下Mysql定时备份数据
1.编写定时任务需要执行的脚本内容。(本次示例为定时备份mysql数据库)
编写备份数据库脚本bakmysql.sh,内容如下:
#!/bin/bash#Name:bakmysql.sh#This is a ShellScript For Auto DB Backup and Delete old Backup#备份目录backupdir=/home/app/bak#备份文件后缀时间,用于区分备份文件名time=` date +%Y%m%d%H%M `#需要备份的数据库名称db_name=gzrd_lf_menu#mysql 用户名db_user=root#mysql 密码db_pass=root123456mysqldump -u $db_user -p$db_pass $db_name --hex-blob | gzip > $backupdir/$db_name$time.sql.gz#删除7天前的备份文件find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1部分参数说明:--hex-blob 解决blob数据类型引起的mysqldump乱码问题-type f 表示查找普通类型的文件,f表示普通文件。-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。-exec rm {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。编写完之后保存。给对应用户可以执行这个脚本的权限,这里直接给所有的权限。chmod 777 bakmysql.sh |
2.配置定时计划:
vi /etc/crontab 编辑文件(如果没有安装corntab,用yum命令安装一下, yum -y install crontab)
在最后一行加入定时计划的配置。
0 0 * * * /home/app/bakmysql.sh //每天0时0分执行bakmysql.sh的脚本内容
说明:crontab配置文件格式如下:
分 时 日 月 周 命令
保存退出,重启crontab:
crontab /etc/crontab
查看定时任务:
crontab -l

浙公网安备 33010602011771号