如何在linux下写脚本定时备份mysql数据库
我们在⼯作中可以这么做减少数据丢失概率
1. 先在某个⽂件夹下创建⼀个脚本,这⾥命名为back_up_database.sh,在/mnt/data_dump/这⽬录下
#!/bin/bash
baseDir="/mnt/data_dump/";
cd "$baseDir";
echo "开始备份数据库";
echo `mysqldump  -h127.0.0.1 -uroot -pAhpu@2019# --default-character-set=utf8 -B onenetcom  > database_dump_$(date +%Y-%m-%d_%H-%M-%S).sql`; echo "备份数据完成";
oldDate=`date --date='5 day ago' +%Y%m%d`;
#删除当前⽇期-8的备份
echo `rm -rf database_dump_$oldDate*`;
echo "删除$oldDate的备份成功"
2. 给该脚本权限
chmod 777 back_up_database.sh
3. 让linux中⾃带的定时任务命令,来执⾏,⾸先打开定时任务,编辑
vim /etc/crontab
4. 在尾部输⼊以下的⾏
#格式如下:minute hour day month week command 这⾥是凌晨12点开始备份
#  day的*表⽰每天依次类推每⽉每周,但是是向下制约每天存在了每⽉就不存在了
00 24 * * * root /mnt/dump/backup_database.sh
这⾥说明下,当你
vim /etc/crontab的时候
执⾏的时候,会在linux下告诉你 发邮件到你的某个路径下了,⾃⼰去查看,这⾥不多说了5. 查看下定时任务⽇志
tail -f /var/log/cron
在linux中下载mysql时冲突是什么
6. 那我们执⾏以下的语句就可以还原数据库了
mysql -u⽤户 -p'密码' 数据库名< /mnt/data_dump/**.sql
如果你发现定时任务报错:
(root) BAD FILE MODE
那么你可以给个权限 chmod 0600 /etc/crontab
然后删除下任务:cron -r
然后重启下cron  systemctl restart crond.service  就可以

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。