关注分享主机优惠活动
国内外VPS云服务器

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

准备一台Linux(例如Centos7)服务器。安装Docker服务。安装并启动SqlServer容器服务。

写一个Shell文件,给出一个备份的例子。

#!/bin/bash # Set MSSQL backup directory folder =/var/opt/MSSQL/data/databank/day = ` date+% y % m % d % h % m % S `#数据库服务器,获取$( docker exec$container id/opt/MSSQL -tools/bin/sqlcmd \ -S$host -U$user -P$password \ -Q)select[name]from master . dbo . sysdatabases where[dbid]& gt;4")do #如果[[$ line = ~[A-ZA-Z0-9 _]+$ & & amp;$line!= ' name ' & amp& amp$line!= ' rows ']];然后echo "database $line开始备份" Docker Exec $ container ID/opt/MSSQL -tools/bin/sqlcmd \ -s $ host -u $ user -p $ password \ -Q " BACKUP DATABASE[$ line]TO DISK = N ' $ folder $ line/$ line $ day . bak ' WITH no format,NOINIT,NAME = N'$line Backup $day ',SKIP,NOREWIND,NOUNLOAD,STATS = 10" fidone

在Linux中添加调度任务需要为Linux提供crontab服务。我们可以使用以下命令来检测和安装该服务。

#检查crontab工具是否与crontab -l一起安装#检查crontab服务是否以服务crontab状态启动#如果服务没有安装,我们需要安装yum install vixie -cron yum install crontab。安装完成后,我们使用命令crontab -e打开crontab的编辑功能,添加如下示例:

#计划任务每天0: 00备份#注意不要忘记sh命令0 0 0 * * sh/root/databank/SQL server backup . sh添加后可以使用命令(systemctl restart crond)重启crond服务,保证服务正常运行。

Crontab格式介绍参考生成工具https://tool.lu/crontab/格式:* * command(*用空格或制表符分隔)

第一*:分钟(0--59)第二*:小时(0--23)第三*:日期(0--31)第四*:月(1--12)第五*:周0--7(

每晚21:30重启Apache:30 21 * * *服务httpd每月1日、10日、22日4:45 4 1、10、22 * *服务httpd每月1日至10日4:45 4 1-10 * *服务httpd每两分钟重启:*/2 * * *服务httpd重启或1-59/2 * * * *服务httpd每晚11: 00至早上7: 并且每小时重启Apache:0 23-7/1 * * *服务httpd每晚18:00-23:00重启,每30分钟重启Apache:0,0 18-23 * * *服务httpd重启或0-59/30 18-23 * * *服务httpd重启此处。 本文介绍了Linux下Docker中所有SqlServer数据库的自动备份。关于Docker SqlServer定时自动备份的更多信息,请搜索主机频道zhujipindao之前的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。未来的com!

未经允许不得转载:主机频道 » Linux下定期自动备份Docker中所有SqlServer数据库的脚本

相关推荐

评论 抢沙发

评论前必须登录!