谷姐:我们都是谷歌迷
We are all Google fans

离开宝塔之后你可以这样备份数据库-好鸭

Rate this post

把这个脚本保存到/root/backup-database.sh,或者你想要保存的任意位置和文件名

    #!/bin/bash
    #数据库
    username=root
    password=123456
    database=mjj

    #备份目录(最后要保留斜杠,懒得多做一次判断,下面rclone的也是)
    backup_dir=/root/backup/database/
    [[ ! -d ${backup_dir} ]] && mkdir -p ${backup_dir} || echo -e "创建备份目录失败,请手动改创建.\n可以尝试执行 \`mkdir -p ${backup_dir}\` 试试看" && exit 1

    #Rclone备份(改为'true'启用)
    rclone=false
    rclone_dir=onedrive:/backup/database/
    delete_local=false #改为true表示rclone上传完就删除本地的

    backup_file=${database}-$(date +"%Y%m%d_%H:%M:%S").sql.gz
    #backup_file=${database}-$(date +"%Y%m%d").sql.gz
    mysqldump -u${username} -p${password} ${database}|gzip > ${backup_dir}${backup_file} && \
    if [[ "${rclone}" == "true" ]];then
    rclone copy ${backup_dir}${backup_file} ${rclone_dir} && \
    if [[ "${delete_local}" == "true" ]];then
    rm -f ${backup_dir}${backup_file}
    fi
    fi

然后crontab -e

添加一行,表示每天8点执行这个脚本,备份数据库

    0 8 * * * bash /root/backup-database.sh

没想好怎么弄保留多少份,感觉有点繁琐

如果大家都是像我一样,按天备份

那么保留7份就可以用当天日期-7天,然后删除这个文件名对应的文件(也就是每次备份完成删除7天前的),时间会有点差异,所以就用日期加时间的通配符匹配文件(或者干脆文件名只保留日期不要时间),但如果不是按天备份(一天几份或者几天一份),就会匹配到不该匹配的文件

还有rclone删除文件不支持通配符,只能rclone lsf出来再匹配,还是有点麻烦的,最好(简单)还是一天一份,然后文件名只保留日期

MJJ自己弄吧

热议
2楼 AaronYYDS 昨天08:25

绑定

    #按照时间删除文件
    find $folder -name '*.sql.gz' -and -mtime +1-type f-delete
    if [ $? -eq 0 ];then
    echo $date delete $dir success!
    else
    echo $date delete $dir FAILD!
    fi

4楼 Leadhip5 昨天08:58

不错,先回复,后收藏

6楼 mengdodo 昨天09:59

不错

7楼 表妹 昨天10:01

从不备份

8楼 无敌 昨天10:07

收藏一下。不错的好东西。

9楼 Molyleaf 4小时前

有没有打算直接打包进lnmp

10楼 影子的影子 半小时前

这么多代码,人已经麻了,还是用宝塔吧

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

未经谷姐允许不得转载:谷姐靓号网 » 离开宝塔之后你可以这样备份数据库-好鸭
分享到: 生成海报

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

买Google Voice认准【谷姐靓号网】

Google Voice靓号列表Google Voice自助购买
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活