• ADADADADAD

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

    mysql数据库 时间:2024-11-26 22:11:51

    作者:文/会员上传

    简介:

    1.先在服务器下建文件夹以下3个文件夹:/bak、/bak/bakmysql、/bak/bakmysqlold。[root@server21 ~]# mkdir -p /bak/bakmysql{,old}在/bak/bakmysql文件夹下建一个shell脚本:[

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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数据库.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: centosmysqlrhel