如何使用crontab每天自动备份Mysql数据库

如何使用crontab每天自动备份Mysql数据库,第1张

1、建立自动备份脚本

为了使数据库备份和恢复的符合我们的实际要求(备份保留七天,每天凌晨备份一次),用一段符合要求的Shell脚本来实现整个备份过程的自动化。

[root@mysqltest ~]# vim mysql-backupsh

#!/bin/bash

##作者:Barlow##

##最后修订:2013-6-25##

#脚本作用:备份Mysql数据库

#

#设定备份保留天数K

K=7

#

TODAY=`date '+%Y%m%d'`

KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`

BACKDIR=/var/mysqlbak/$TODAY

KDAYDIR=/var/mysqlbak/$KDAY

mkdir -p $BACKDIR

#

# The Password of MySQL

ROOTPASS= ##将替换为实际mysql数据库的root密码

#

# Get the Name of Database

DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

#

# Backup with Database

for dbname in $DBLIST

do

mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy

done

#

#删除过期备份

if [ -d "$KDAYDIR" ];then

rm -rf $KDAYDIR

exit

fi

改变脚本权限,root具有完全权限,其他用户没有任何权限:

[root@mysqltest ~]# chmod 700 mysql-backupsh

运行一次脚本:

[root@mysqltest ~]# /mysql-backupsh

查看运行结果:

[root@mysqltest ~]# ll /var/mysqlbak/20130625/

mysql/ wordpress/

[root@mysqltest ~]# ll /var/mysqlbak/20130625/

总用量 8

drwxr-x--- 2 mysql mysql 4096 6月 25 14:26 mysql

drwxr-x--- 2 mysql mysql 4096 6月 25 14:26 wordpress

可以看到备份已经成功完成。

2、创建自动任务每天运行

[root@mysqltest ~]# crontab -e

00 01 /root/mysql-backupsh

##每天凌晨1点运行一次

1 写个自动备份的脚本autobackupsh,内容如下

#!/bin/bash

mysqldump -p databasename > mydatasql

2 更改其为可执行文件 chmod +x autobackupsh

3 通过crontab让系统自动运行这个脚本就好了,如crontab -e

0 0 /路径到/autobackupsh

第一个0表示分钟,第二个0表示0小时也就是零辰第三个表示每天,第四个表示每月,第五个表示每周

以上就是关于如何使用crontab每天自动备份Mysql数据库全部的内容,包括:如何使用crontab每天自动备份Mysql数据库、如何在linux下实现mysql数据库每天自动备份、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9742735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存