shell脚本

#!/bin/bash

#容器ID
container_id="6b1faea2b4d7"
#登录用户名
mysql_user="root"
#登录密码(注意 如果密码包含特殊符号 前面要用'\')
mysql_password="Yvi\$123"
mysql_port="3306"
#备份的数据库名
mysql_database="clne"
# 备份文件存放地址(根据实际情况填写)
backup_dir="/home/data/crontab/data"
# 是否删除过期数据
expire_backup_delete="true"
#过期天数
expire_days=3
backup_time=`date +%Y%m%d%H%M` # 备份指定数据库中数据
docker exec $container_id mysqldump -P$mysql_port -u$mysql_user -p$mysql_password $mysql_database > $backup_dir/bak-$mysql_database-$backup_time.sql # 删除过期数据
if [ "$expire_backup_delete" == "true" -a "$backup_dir"!="" ];then
`find $backup_dir/ -type f -mtime +$expire_days | xargs rm -rf`
echo "Expired backup data delete complete!"
fi

赋予权限

chmod 777 脚本.sh

可以这里先执行下脚本看下效果

如果shell脚本报错:.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

参考:https://www.cnblogs.com/pxblog/p/15094666.html

保存后

修改  配置定时任务

vim /etc/crontab

添加

0    0    *    *    * root  . /etc/profile;/bin/sh  /home/脚本.sh

后面的脚本要使用绝对路径

前面那个是cron 可以根据自己的来修改(上面这个示例表示每天0点执行一次)

常用的

0 */2 * * *   意思是每两个小时

50 7 * * *   意思是每天7:50

50 22 * * *   意思是每天22:50

0 0 1,15 * *   每月1号和15号

1 * * * *   每小时的第一分执行 

30 6 */10 * *   意思是每月的1、11、21、31日是的6:30执行一次

然后重启crontab服务

service crond restart

然后就可以看是否执行

 cat /var/log/cron

查看日志

centos使用shell脚本定时备份docker中的mysql数据库的更多相关文章

  1. linux自动定时备份web程序和mysql数据库

    前些天受朋友说linux定时备份不知道怎么搞,叫帮忙处理一下.由于这段时间正闲着,所以也就欣然答应.由于朋友对linux不懂也希望我将操作的过程记录下来,也就是越详细越好.所以写得比较$%^& ...

  2. docker中使用mysql数据库详解(在局域网访问)

    开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...

  3. 在docker中使用mysql数据库,在局域网访问

    1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...

  4. Linux VPS自动定时备份网站文件和MYSQL数据库到FTP空间(LNMP)

    如果我们网站更新不是很频繁,我们可以定期手动进行备份网站文件和MYSQL数据库导出.如果我们网站数据更新频繁,且数据尤为重要,建议要采用定期自动 备份,至少需要多备份数据,无论我们选择何种优秀的VPS ...

  5. shell脚本连接、读写、操作mysql数据库实例

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  6. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  7. 使用shell脚本定时备份web网站代码

    #!/bin/bash ############### common file ################ #备份文件存放目录 WEBBACK_DIR="/data/backup/ba ...

  8. shell脚本定时备份数据库

    脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" ...

  9. Docker中查看Mysql数据库中的各环境参数

    通过官方的文档可以看到运行MySQL容器的命令是: docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mypwd -d mysql:tag 如:d ...

随机推荐

  1. Java跟JavaScript两者间的关系和区别

    想必很多人在刚接触和认识Java的时候,都好奇它与JavaScript之间的关系,长得这么像,难道是出自同门的升级版?嗯,他们的发明者确实颇具渊源,而且客观来说,JS确实相较Java更加简洁大众,但它 ...

  2. Codeforces 1373F - Network Coverage(模拟网络流)

    Codeforces 题面传送门 & 洛谷题面传送门 提供一个模拟网络流的题解. 首先我们觉得这题一脸可以流的样子,稍微想想可以想到如下建图模型: 建立源点 \(S,T\) 和上下两排点,不妨 ...

  3. 流量限制器(Flux Limiter)

    内容翻译自Wikipedia Flux limiter 流量限制器(Flux limiters)应用在高精度格式中-这种数值方法用来求解科学与工程问题,特别是由偏微分方程(PDE's)描述的流体动力学 ...

  4. Volatile的3大特性

    Volatile volatile是Java虚拟机提供的轻量级的同步机制 3大特性 1.保证可见性 当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值 案例代码 ...

  5. == 和 equals() 方法的区别

    == 在比较基本数据类型时,是比较两边的数据的值是否相等 // 整数类型 int num1 = 1; // 双精度浮点数类型 double num2 = 1.0; // 输出结果为 true Syst ...

  6. day08 外键字段的增删查改

    day08 外键字段的增删查改 今日内容概要 外键字段的增删查改 正反向查询的概念 基于对象的跨表查询(子查询) 基于双下划线的跨表查询(连表操作) 聚合查询与分组查询 F查询和Q查询 前提准备 cl ...

  7. 【MPI环境配置】 vs2019配置MPI环境

    MPI 即 Message-Passing Interface,提供了一系列并行编程的接口,为了在本机能够学习和使用并行编程,需要提前安装MPI; 配置环境: Microsoft Visual Stu ...

  8. 【leetcode】952. Largest Component Size by Common Factor(Union find)

    You are given an integer array of unique positive integers nums. Consider the following graph: There ...

  9. 【leetcode】153. Find Minimum in Rotated Sorted Array

    Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example ...

  10. C语言产生随机数(伪)

    C语言的获取随机数的函数为rand(), 可以获得一个非负整数的随机数.要调用rand需要引用头文件stdlib.h.要让随机数限定在一个范围,可以采用模除加加法的方式.要产生随机数r, 其范围为 m ...