linux中定时备份mysql数据库
1.创建备份数据存放目录
mkdir -p /bak/db_bakup
2.编写数据库备份脚本
vim mysqlbakup.sh
脚本内容:
#!/bin/bash
echo "mysql backup start..."
#设置mysql备份目录
folder=/bak/db_bakup/
cd $folder
day=`date +%Y%m%d`
rm -rf $day
mkdir $day
cd $day
#数据库服务器
ip=你的IP
#数据库端口号
host=3306
#用户名
user=root
#密码
password=你的密码
#要备份的数据库
db=你的数据库名
#数据要保留的天数
days=7
#执行备份命令
mysqldump -h$ip -P$host -u$user -p$password $db> backup.sql
#zip压缩
zip backup.sql.zip backup.sql
rm backup.sql
cd ..
day=`date -d "$days days ago" +%Y%m%d`
rm -rf $day
echo "mysql backup success..."
3.给脚本赋予执行的权限
chmod +x mysqlbakup.sh
4.配置定时任务
a.查看crontab是否安装
rpm -qa | grep crontab
若没有安装则执行下面命令
yum -y install vixie-cron ----vixie-cron是cron的主程序
yum -y install crontabs ----crontabs是用来安装卸装驱动cron的
service crond start ----启动服务
ervice crond status ----查看crontab服务状态
b.编辑定时任务
crontab -e
内容如下(例如:每天零点零分执行,具体根据你的数据量来确定定时任务执行的频率)
0 0 * * * /bak/db_bakup/mysqlbakup.sh
c.验证任务是否添加成功
crontab -l
这里就OK了,验证定时任务是否执行,可以设置为1分钟执行进行测试~