Linux下定时自动备份Docker中所有SqlServer数据库的脚本

 更新时间:2022年09月30日 11:54:53   作者:一块白板  
这篇文章主要介绍了Linux下定时自动备份Docker中所有SqlServer数据库 ,编写shell文件给出一个备份的范例,在Linux添加定时任务,通过下列命令来检测并安装这个服务,需要的朋友可以参考下

准备工作

  • 一台Linux(Centos7为例)服务器。
  • 安装Docker服务。
  • 安装并启动SqlServer容器服务。

编写Shell文件

给出一个备份的范例

#!/bin/bash
#设置mssql备份目录
folder=/var/opt/mssql/data/databack/
day=`date +%Y%m%d%H%M%S`
#数据库服务器,一般为localhost
host=localhost
#用户名
user=sa
#密码
password='********'
# 容器名称
containerId='sqlserver'

# 循环获取数据库名称
for line in $(docker exec $containerId /opt/mssql-tools/bin/sqlcmd \
   -S $host -U $user -P $password \
   -Q "select [name] from master.dbo.SysDatabases where [dbid] > 4")
do
    # 判断是否是数据库名称
    if [[ $line =~ ^[a-zA-Z0-9_]+$ && $line != 'name' && $line != 'rows' ]]; then
        echo "数据库 $line 开始备份"
        docker exec $containerId /opt/mssql-tools/bin/sqlcmd \
        -S $host -U $user -P $password \
        -Q "BACKUP DATABASE [$line] TO DISK = N'$folder$line/$line$day.bak' WITH NOFORMAT, NOINIT, NAME = N'$line Backup $day', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
    fi
done

在Linux添加定时任务

添加定时任务需要使用到Linux的crontab服务。我们可以通过下列命令来检测并安装这个服务。

# 检查crontab工具是否安装
crontab -l
# 检查crond服务是否启动
service crond status

# 如果未安装服务我们需要进行安装
yum install vixie-cron
yum install crontabs

再确认安装完成后我们使用命令 crontab -e 打开crontab的编辑功能,添加如下示例:

# 定时任务 每日0点备份
# 注意别忘记 sh 命令
0 0 * * * sh /root/databack/sqlServerBackup.sh

添加完成后可以使用命令(systemctl restart crond),重启下crond服务确保服务能正常运行。

crontab格式介绍

参考生成工具 https://tool.lu/crontab/
格式: * * * * * comand(*以空格或tab隔开)

  • 第一个* : 分钟(0--59)
  • 第二个* : 小时(0--23)
  • 第三个* : 日期(0--31)
  • 第四个* : 月份(1--12)
  • 第五个* : 星期0--7(0或者7表示星期天)
  • comand : 要执行的操作

举例:

  • 每晚21:30重启apache: 30 21 * * * service httpd restart
  • 每月1、10、22日的4:45重启apache : 45 4 1,10,22 * * service httpd restart
  • 每月1到10日的4:45重启apache : 45 4 1-10 * * service httpd restart
  • 每隔两分钟重启apache : */2 * * * * service httpd restart 或者 1-59/2 * * * * service httpd restart
  • 每晚11点到早上7点间,每隔1小时重启apache : 0 23-7/1 * * * service httpd restart
  • 每晚18:00至23:00,每隔30分钟重启apache : 0,30 18-23 * * * service httpd restart 或 0-59/30 18-23 * * * service httpd restart

到此这篇关于Linux下定时自动备份Docker中所有SqlServer数据库 的文章就介绍到这了,更多相关Docker SqlServer定时自动备份内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker运行Web服务实战之Tomcat的详细过程

    Docker运行Web服务实战之Tomcat的详细过程

    Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持,这篇文章主要介绍了Docker运行Web服务实战之Tomcat的详细过程,需要的朋友可以参考下
    2022-08-08
  • 利用宝塔面板和docker快速部署网站的基本流程

    利用宝塔面板和docker快速部署网站的基本流程

    当你有了一台服务器,就会折腾往这台服务器上部署各种好玩的网站,本文将以部署filebrowser举例介绍网站部署的基本流程,感兴趣的朋友一起看看吧
    2023-12-12
  • windows安装Docker与docker-compose套装的详细教程

    windows安装Docker与docker-compose套装的详细教程

    这篇文章主要介绍了windows安装Docker与docker-compose套装的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Linux平台搭建docker环境并简单使用示例

    Linux平台搭建docker环境并简单使用示例

    这篇文章主要介绍了Linux平台搭建docker环境及简单使用方法,需要的朋友参考下吧
    2017-01-01
  • CentOS7安装使用Docker的步骤

    CentOS7安装使用Docker的步骤

    本篇文章主要介绍了详解CentOS7安装使用Docker的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • docker-compose安装及执行命令

    docker-compose安装及执行命令

    Docker Compose是一个用来定义和运行复杂应用的Docker工具,这篇文章主要介绍了docker-compose安装方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Docker自定义安装更改默认安装位置简单方法

    Docker自定义安装更改默认安装位置简单方法

    安装Docker的过程相对简单,你只需要双击下载的安装程序并按照提示进行安装即可。在安装过程中,你可以选择自定义安装选项,这篇文章主要给大家介绍了关于Docker自定义安装更改默认安装位置的简单方法,需要的朋友可以参考下
    2024-01-01
  • docker的WARNING:bridge-nf-call-iptables is disabled的解决方案

    docker的WARNING:bridge-nf-call-iptables is disabled

    这篇文章主要介绍了docker的WARNING:bridge-nf-call-iptables is disabled的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker 启用多个端口映射命令的操作

    docker 启用多个端口映射命令的操作

    这篇文章主要介绍了docker 启用多个端口映射命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker 容器编排利器Compose(起步篇)

    Docker 容器编排利器Compose(起步篇)

    这篇文章主要介绍了Docker 容器编排利器Compose(起步篇),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06

最新评论