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

77次阅读
没有评论

共计 1363 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章主要介绍 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 -p password 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 -p password 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 数据库”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计1363字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)