清茶书香

一杯清茶,一本书籍,一个下午。


  • 首页

  • 归档

  • 分类

  • 关于

  • 搜索
Redis JPA Solr SpringData SpringMVC localRepository local Mapper 事务 Mybatis JDBC AOP DI IOC 常用函数 触发器 存储过程 Promise Gateway SpringCloud vue-cli axios es6 webpack npm vue 个性化 zsh 终端 caffeine jvm缓存 guava cache validation Mapping MapStruct comment 小程序 建站 WeHalo config logback plugins database idea maven spring https http nginx password RabbitMQ 秒杀系统 Windows MySQL 数据备份 halo SpringBoot shell Linux ip Optional Stream Lambda k8s Docker 列编辑 vim MacOS 图片合成 Java 远程联调 nps 内网穿透

Linux定时备份MySQL数据库脚本

发表于 2020-03-21 | 分类于 工具 | 2 | 阅读次数 436

之前记录下了window系统备份远程MySQL数据库的定时备份脚本(想要了解的可以去看看> windows压缩备份MySQL数据库),Linux系统的忘记记录了。这次把它也保存下来。

脚本内容非常简单,主要是利用MySQL的备份系统来做这件事。

#!/bin/bash    
mysqldump -hlocalhost -u[username] -p[password] [database] | gzip > /backup/database_$(date +%Y%m%d_%H%M%S).sql.gz

workdir="/backup/"

do_delete()
{
	file_name=$(find $workdir -name '*.sql.gz' -and -mtime +7  -type f -print)
    	echo file name is ${file_name}

        find $workdir -name '*.sql.gz' -and -mtime +7 -type f -delete
        rc=$?
        if [ ${rc} -eq 0 -a "${file_name}" ];then
            echo $(date) delete $(basename ${file_name}) SUCCESS!             
        else
            echo $(date) delete ${file_name} FAIL!            
         fi

}
do_delete

在根目录创建一个backup文件夹,将脚本放在这个文件夹内,给脚本可执行权限。

下面我们要用到的是Linux的crontab命令。

crontab常用参数如下:

  • -e 编辑工作表
  • -l列出工作表中的命令
  • r删除工作表
  • u [username] 操作某用户的工作表,省略则默认是当前用户的工作表

使用crontab -e编辑工作表,在工作表中加入下面的内容,让脚本每天凌晨3点执行。

0 3 * * * /backup/bakdb.sh

内容的规则如下:

 .---------------- minute (0 - 59)
 |  .------------- hour (0 - 23)
 |  |  .---------- day of month (1 - 31)
 |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
 |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 |  |  |  |  |
 *  *  *  *  * user-name 指定其他用户调度,如果不需要则不指定

*表示每年每月每天每时每分都执行该任务。

任务添加好了之后可以将crond服务重启:service crond restart。

Bennett wechat
欢迎收藏我的微信小程序,方便查看更新的文章。
  • 本文作者: Bennett
  • 本文链接: https://hibennett.cn/archives/linux定时备份mysql数据库脚本
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# Linux # shell # 数据备份 # MySQL
windows压缩备份远程MySQL数据库
内网穿透-nps实现
  • 文章目录
  • 站点概览
Bennett

Bennett

60 日志
28 分类
74 标签
RSS
Github E-mail Gitee QQ
Creative Commons
Links
  • MacWk
  • 知了
0%
© 2020 — 2023 hibennett.cn版权所有
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4

浙公网安备 33010802011246号

    |    浙ICP备2020040857号-1