1. 创建shell脚本

#! /bin/bash
# MySQL用户
user="root"
# MySQL密码
userPWD="123456789"
# 需要定时备份的数据表列表
dbName=uco_wms_test
# 每次的备份数据以日期创建文件夹存放,同时删除过期备份
# 此处以保留7天的备份数据为例
DATE=`date -d "now" +%Y%m%d_%H%M%S`
ODATE=`date -d "-7 days" +%Y%m%d`
newdir=/home/ttx/app/mysqlbackfile/$DATE
olddir=/home/ttx/app/mysqlbackfile/$ODATE*
# 删除过期备份数据 *号表示模糊匹配
if [ -d $olddir* ];
then
rm -rf $olddir*
fi
# 创建新备份文件夹
mkdir $newdir
# 对备份数据库列表的所有数据库备份
dumpFile=$dbName-$DATE.sql.gz

#如果mysql没有部署在容器里,以下脚本可自行变更[mysqldump -u$user -p$userPWD $dbName | gzip > $newdir/$dumpFile]
mysqldump -u$user -p$userPWD $dbName | gzip > $newdir/$dumpFile

2. 给shell脚本添加执行权限

chmod +x backupdb.sh

安装Mysql客户端

命令行执行命令:sudo apt-get install mysql-client

3. 给脚本添加定时任务

sudo 权限

vi /etc/crontab

00 01 * * *  root /bin/sh /usr/local/mysql/backupdb.sh

添加计划任务保存即可

时间配置格式说明 https://tool.lu/crontab/

或者用下面的处理

crontab -e
输入上一行命名进行编辑定时任务,最后添加如下内容
00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh
上面的定时任务意思是每天凌晨1点会执行自动备份脚,进行MySQL数据库的定时备份.
 
crontab文件的说明:

用户创建的crontab文件中,每一行都代表一项定时任务,每行的每个字段代表一项设置,它的格式每行共分为六个字段,前五段是时间设定字段,第六段是要执行的命令字段。

格式如下:minute hour day month week command

参数说明:

minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是Linux系统命令,也可以是自己编写的脚本文件。

最新文章

  1. windows下使用C#获取特定进程网络流量
  2. Remoting and web services using Spring[摘自官网]
  3. vs2010/2013项目的C++所在文件夹越来越大如何解决?
  4. 剑指Offer:面试题32——从1到n整数中1出现的次数(java实现)
  5. 那年有关 return ; 的一切
  6. JVM监测&工具[转]
  7. Android MotionEvent事件响应机制
  8. Git - Tutorial [Lars Vogel]
  9. MFC中OnDraw()和OnPaint()的区别[转]
  10. SqlServer数据库设计,纠结的问题,有胆你就来!
  11. UVA11388 GCD LCM1 2 -1
  12. android systemUI--Notification 整理
  13. Java Code Style
  14. 四、Mysql主从同步
  15. Permanent Space 和 Heap Space
  16. laravel中当使用Elquent ORM中的模型作为参数进行传递时的方法:
  17. WordPress设置地址的问题
  18. 开源一个最近写的spring与mongodb结合的demo(spring-mongodb-demo)
  19. 介绍一些有趣的MySQL pager命令
  20. 对于在Android Studio 的 build.gradle 中的默认applicationId 要不要写呢?

热门文章

  1. 男孩周末班-k8s-思维导图
  2. 【原创】k8s之job和Cronjob
  3. 2.使用jenkins自动构建并发布应用到k8s集群
  4. Linux CentOS7.x 升级内核的方法
  5. mysql+python+pymysql的一些细节问题
  6. virtualBox 设置增强功能粘贴和拖放
  7. BZOJ3211 花神游历各国(分块 区间开根号)
  8. Ubuntu pppoeconf失败
  9. 手把手搭建一套基于 Sentry 的异常监控系统
  10. js 深入原理讲解系列-事件循环