大宝剑论坛

 找回密码
 立即注册
查看: 67|回复: 0

数据库备份【预防数据库被意外删除的处理办法】

[复制链接]
  • TA的每日心情
    擦汗
    2021-2-6 22:44
  • 1033

    主题

    1286

    帖子

    96万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    964799

    推广达人宣传达人灌水之王优秀版主荣誉管理论坛元老

    发表于 2021-4-6 19:36:34 | 显示全部楼层 |阅读模式
    开通VIP,畅快游戏!
    本帖最后由 游戏宝剑坛 于 2021-4-6 19:49 编辑

    #!/bin/sh

    # 天龙服务端自动打包备份脚本

    # shell by 心语难诉

    # 2020-7-6 15:47:24

    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

    export PATH

    LANG=en_US.UTF-8

    echo "

    +----------------------------------------------------------------------

    | TLBB Database Auto Backup

    +----------------------------------------------------------------------

    | Copyright © 2020-2099 Wigiesen

    +----------------------------------------------------------------------

    "

    AddCrontab(){

        # 查询是否已经写入过计划任务

        crontabCount=`crontab -l|grep AutoBackup-Db.sh |grep -v grep|wc -l`

        if [ $crontabCount = 0 ];then

            (echo "*/10 * * * * sh /home/tlbb/AutoBackup-Db.sh > /dev/null 2>&1 &"; crontab -l) | crontab

        fi

    }


    AddCrontab


    # 判断是否存在备份目录,如果没有就创建

    if [ ! -d "/opt/db_bak" ]; then

        mkdir /opt/db_bak

    fi


    tlbbDbName="tlbbdb-"`date +"%Y-%m-%d-%H:%M"`".sql"

    webDbName="web-"`date +"%Y-%m-%d-%H:%M"`".sql"


    echo "Automatic backup in progress, please wait a minute...."

    # 开始备份

    mysqldump -uroot -pYOURPASSWORD tlbbdb > /opt/db_bak/${tlbbDbName}

    mysqldump -uroot -pYOURPASSWORD web > /opt/db_bak/${webDbName}

    echo `date +"%Y-%m-%d %H:%M:%S"`  >> /home/tlbb/Db_AutoBackup.log

    echo "tlbbdb.sql is complete!!!"  >> /home/tlbb/Db_AutoBackup.log

    echo "web.sql is complete!!!"  >> /home/tlbb/Db_AutoBackup.log

    # 记录完成时间

    echo "Database auto backup is complete!!!" >> /home/tlbb/Db_AutoBackup.log




    使用方法:

    将上述内容另backdkdb.sh

           1).每10分钟自动备份一次数据库,存留备份,以防GM错误操作数据库导致玩家数据丢失等,有回档的余地。

           2).修改AutoBackup-Db.sh第37行、38行
           mysqldump -uroot -pYOURPASSWORD tlbbdb > /opt/db_bak/${tlbbDbName}
           mysqldump -uroot -pYOURPASSWORD web > /opt/db_bak/${webDbName}
           YOURPASSWORD换成你的数据库密码
           3).执行命令:backdkdb.sh




    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    大宝剑网单|免责声明|联系我们|手机版|大宝剑论坛

    GMT+8, 2021-4-19 23:32 , Processed in 0.052401 second(s), 25 queries .

    Powered by Discuz! X3.3

    © 2001-2019 Comsenz Inc.

    快速回复 返回顶部 返回列表