生产数据库的数据是经常需要备份的,可以写个数据库的备份脚本,然后通过Linux的crontab定时执行就可以完成数据库定时备份的工作;记录下,具体的脚本如下
#!/bin/bash
baseDir="/mnt/data_dump/";
cd "$baseDir";
echo "开始备份数据库";
echo `mysqldump -h127.0.0.1 -u用户明 -p密码 --default-character-set=utf8 数据库名 > database_dump_$(date +%Y%m%d_%H%M%S).sql`;
echo "备份数据完成";
oldDate=`date --date='8 day ago' +%Y%m%d`;
#删除当前日期-8的备份
echo `rm -rf database_dump_$oldDate*`;
echo "删除$oldDate的备份成功"
先建立个目录/mnt/data_dump/,将数据库的备份文件会放在这个里面;然后使用mysqldump命令来完成数据库的备份;最后会删除7天之前的数据库备份记录;
将上面的文件命名为backup_database.sh;然后比如放在/mnt/dump/文件夹下;注意要授权执行权限,不然定时任务执行会提示权限不足;通过chmod 777 backup_database.sh来赋权限;
之后添加一个定时执行的任务即可;
vim /etc/crontab
#添加一条记录
00 24 * * * root /mnt/dump/backup_database.sh
ps:如果定时任务没有执行,可以查看下crontab的日志
tail -f /var/log/cron