葛廷彬的学习博客

记录学习工作中碰到的问题

mysql自动备份机制

 

[root@localhost ~]# df -h

mysql数据库自动备份操作:
1:建立备份的专用账户和密码(只能本地操作)
#数据库用户名
backupsql
#数据库用密码
backup2018
[root@localhost home]# vi /home/backup/mysqlbackup.sh
------------------------------------------------vi /home/backup/mysqlbackup.sh---  开始------------------------------------------------------------------------
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#数据库用户名
dbuser='backupsql'
#数据库用密码
dbpasswd='backup2018'
#需要备份的数据库,多个数据库用空格分开
dbname='hm_dyh'
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/home/backup'
#数据备份路径
datapath='/home/backup'
#日志记录头部
echo ‘"备份时间为${backtime},备份数据库表 ${dbname} 开始" >> ${logpath}/mysqllog.log
#正式备份数据库
for table in $dbname; do
source=`/usr/local/mysql/bin/mysqldump -u${dbuser} -p${dbpasswd} --set-gtid-purged=OFF ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
#备份成功以下操作
if [ "$?" == 0 ];then
cd $datapath
#为节约硬盘空间,将数据库压缩
tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
#删除原始文件,只留压缩后文件
rm -rf ${datapath}/${backtime}.sql
#删除30天前备份,也就是只保存30天内的备份
find $datapath -name "*.tar.bz2" -type f -mtime +30 -exec rm -rf {} \; > /dev/null 2>&1
echo "数据库表 ${dbname} 备份成功!!" >> ${logpath}/mysqllog.log
else
#备份失败则进行以下操作
echo "数据库表 ${dbname} 备份失败!!" >> ${logpath}/mysqllog.log
fi
done
--------------------------------------------------------vi /home/backup/mysqlbackup.sh--结束------------------------------------------------------------------------------
[root@localhost home]# chmod +x /home/backup/mysqlbackup.sh   #授权
[root@localhost home]# sh /home/backup/mysqlbackup.sh   #测试下
设置服务器的内核自动运行机制:


1、安装crontab
[root@localhost ~]# yum install vixie-cron crontabs
[root@localhost ~]# service crond start
[root@localhost ~]# service crond stop
[root@localhost ~]# service crond status   #查看crontab服务状态
[root@localhost ~]# chkconfig --levels 235 crond on
[root@localhost ~]# chkconfig --list crond
[root@localhost ~]#crontab -u root -l 
#查看定时任务[root@localhost ~]#crontab -u root -e

[root@WEB02 ~]#
01 00 * * * sh /home/backup/mysqlbackup.sh

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

鲁ICP备19064028号 13658636711 getingbin@126.com