CentOS/RHEL系统如何实现每天自动备份MySQL数据库

网友投稿 256 2023-12-27

CentOS/RHEL系统如何实现每天自动备份MySQL数据库

这篇文章主要介绍CentOS/RHEL系统如何实现每天自动备份MySQL数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

CentOS/RHEL系统如何实现每天自动备份MySQL数据库

1.先在服务器下建文件夹以下3个文件夹:/bak、/bak/bakmysql、/bak/bakmysqlold。

[root@server21 ~]# mkdir -p /bak/bakmysql{,old}

在/bak/bakmysql文件夹下建一个shell脚本:

[root@server21 ~]# touch /bak/bakmysql/backup.sh

给文件授权:

[root@server21 ~]# chmod 755 /bak/bakmysql/backup.sh

2.编辑shell脚本:

[root@server21 ~]# vim /bak/bakmysql/backup.sh

#!/bin/bash

cd /bak/bakmysql

echo "You are in bakmysql directory "

mv bakmysql* /bak/bakmysqlold

echo "Old databases are moved to bakmysqlold folder "

Now=$(date +"%Y-%m-%d")

File=bakmysql-$Now.sql

mysqldump -uroot -ppassword db_bbs > $File

echo "Your database backup successfully completed "

SevenDays=$(date -d -7day  +"%Y-%m-%d")

if [ -f /bak/bakmysqlold/bakmysql-$SevenDays.sql ]; then

rm -rf /bak/bakmysqlold/bakmysql-$SevenDays.sql

    echo "You have delete 7days ago backup file "

else

echo "7 days ago backup file not exist "

fi

3.Shell脚本mysqldump -uroot -ppassword db_bbs

> $File语句中的红色字体请分别换为自己的mysql数据库用户、密码和database名。脚本先将/bak/bakmysql文件夹下bakmysql为文件名开头的备份文件移至/bak/bakmysqlold,再生成最新的备份文件,最后再判断/bak/bakmysqlold文件夹中七天前的文件是否存在,存在则删除,最后结束。这样就能自动备份最近七天的数据库脚本。

4.设置每天自动执行shell脚本:

[root@server21 ~]# vim /etc/crontab 在最后加入这样一行(具体含义请自行参考/etc/crontab中的注释)

0 0 * * * root /bak/bakmysql/backup.sh

重启crontab:

[root@server21 ~]# /sbin/service crond restart

如果没有设置crontab为开机自启动可以如下设置其开机自启动:

[root@server21 ~]# chkconfig –level 35 crond on

以上是“CentOS/RHEL系统如何实现每天自动备份MySQL数据库”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:centos6.5如何安装jira
下一篇:信创国产化的市场拓展策略
相关文章

 发表评论

暂时没有评论,来抢沙发吧~