栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 数据挖掘与分析

linux定时备份mysql数据库

linux定时备份mysql数据库

开发谁都不敢绝对保证安全,定时备份数据库是非常有必要的,以下linux定时备份mysql数据库参考诸多网上案例,由本人实际操作整合,只为做个笔记分享

1.编写备份数据库脚本

cd /home

运行此处会让你输入要备份的那个数据库的密码
这边的–login-path=local1 对应脚本里面的,相当于变量,之所以这样搞是因为脚本里面写mysql账号密码会不安全

mysql_config_editor set --login-path=local1 --host=localhost --user=root --password

以下操作就是创建文件给权限编写脚本,一个个复制粘贴运行即可

mkdir backup
mkdir oldback
touch backup.sh
chmod u+x backup.sh
vi backup.sh
#下面的 --login-path=local1 相当于变量
export LANG=en_US.UTF-8
#注意:下面这几个变量需修改为你自己的
BackDir=/home/backup
LogFile=/home/backup/bak.log
Database=xxxxx#数据库名

if [ ! -d "$BackDir" ];then
mkdir $BackDir
fi

if [ ! -f "$LogFile" ]; then
 touch "$LogFile"
fi

Date=`date +%Y%m%d_%H%M%S`
Begin=`date +%Y%m%d_%H:%M:%S`
#到备份目录下
cd $BackDir
#设置导出脚本名称
DumpFile=my_$Date.sql
#设置压缩包名称
DumpFileZip=juzi_$Date.sql.tgz
#导出数据库数据
mysqldump --login-path=local1 $Database > $DumpFile
#压缩sql脚本
tar -czvf $DumpFileZip $DumpFile
#删除sql脚本
rm $DumpFile

#下面这一段是保留最近7天的数据
count=$(ls -l  *.tgz |wc -l)
if [ $count -ge 8 ]
then
file=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1')
rm -f  $file
fi

Last=`date +"%Y%m%d_%H:%M:%S"`
echo start:$Begin end:$Last $DumpFileZip succ >> $LogFile

保存退出:wq
运行脚本

./backup.sh

2.设置定时运行脚本,这边使用的是crontab,一般linux会有自带

crontab -e

创建定时任务,我这边设置的是2分钟执行一次。各种时间结合自己业务来整,操作方式可百度

*/2 * * * * /home/backup.sh

退出保存
重载任务

/bin/systemctl reload crond.service

重启任务

/bin/systemctl restart crond.service
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/278796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号