centos每天自动备份mysql数据库

IT
IT
IT
401
文章
1
评论
2020年5月21日14:32:33 评论 3,452 1375字阅读4分35秒

脚本如下

[root@iZ258mlkxfdZ home]# vim mysql.sh 

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#数据库用户名
dbuser='root'
#数据库用密码
dbpasswd='123456'
#需要备份的数据库,多个数据库用空格分开
dbname='zabbix'
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/home/mysqlbak'
#数据备份路径
datapath='/home/mysqlbak'
#日志记录头部
echo ‘"备份时间为${backtime},备份数据库表 ${dbname} 开始" >> ${logpath}/log.log
#正式备份数据库
for table in $dbname; do
source=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
#备份成功以下操作
if [ "$?" == 0 ];then
cd $datapath
#为节约硬盘空间,将数据库压缩
tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
#删除原始文件,只留压缩后文件
rm -f ${datapath}/${backtime}.sql
#删除七天前备份,也就是只保存7天内的备份
find $datapath -name "*.tar.bz2" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
echo "数据库表 ${dbname} 备份成功!!" >> ${logpath}/mysqllog.log
else
#备份失败则进行以下操作
echo "数据库表 ${dbname} 备份失败!!" >> ${logpath}/mysqllog.log
fi
done

给脚本执行权限

[root@iZ258mlkxfdZ home]# chmod +x /home/mysql.sh

定时执行脚本:(每分钟执行一次做实验)

[root@iZ258mlkxfdZ ~]# crontab -e

*/1 * * * *  /bin/bash /home/mysql.sh

查看定时任务有没有生效(现在已经进行了自动备份)

 

[root@iZ258mlkxfdZ mysqlbak]# ll /home/mysqlbak/
total 2656
-rw-r--r-- 1 root root 132 Sep 6 00:45 log.log
-rw-r--r-- 1 root root 70 Sep 6 00:45 mysqllog.log
-rw-r--r-- 1 root root 2708191 Sep 6 00:45 zabbix20160906004501.tar.bz2

如果corn任务没有执行,先检查有没有执行权限?路径是不是对的?有没有创建备份目录?默认情况下cron是不自动运行的,有没有启动?等等一切问题。

cron启动命令如下

[root@iZ258mlkxfdZ mysqlbak]# /sbin/service crond start
Starting crond: [ OK ]
继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年5月21日14:32:33
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Teambition 网盘与阿里云盘数据合并说明 CentOS

Teambition 网盘与阿里云盘数据合并说明

前言 Teambition 团队是阿里巴巴的一个创新产品团队,除了你熟悉的 Teambition App,「阿里云盘」也是我们的作品,它们都属于阿里云正在打造的新一代「云服务」。 过去几个月,我们投入...
CentOS8安装Jenkins CentOS

CentOS8安装Jenkins

简述 Jenkins 是最流行的,开源的,基于 Java 的自动化服务器,它允许你很容易的设置一个持续集成和持续发布的管道。 持续集成 (CI)是一个 DevOps 实践。当团队成员正常提交代码到版本...
使用vmware安装VMware vSphere Hypervisor7.0服务端 CentOS

使用vmware安装VMware vSphere Hypervisor7.0服务端

创建虚拟机 安装 进入安装界面 敲击回车按F11 如下提示是:安装在哪一个硬盘里,根据自己的需求进行安装即可。博主直接默认安装在第一块硬盘上,直接回车。 默认即可,敲击回车 设置一个VMware的密码...

您必须才能发表评论!