Linux下备份SQL Server的Shell脚本
Posted SQLServer走起
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下备份SQL Server的Shell脚本相关的知识,希望对你有一定的参考价值。
公司有一台linux服务器是专门用于备份的服务器,因为sql server出了linux版(主要是出了linux版的sqlcmd工具),使我Windows版本的sql server的备份工作可以迁移到linux服务上进行。
当然我的备份服务器实际上用的脚本比以下的强大很多,不开源,现提供一个简单版本,如下:
测试环境:
备份服务器:centos7.2
sql server服务器:window2008R2/SQL SERVER2008
samba服务器: 我用的是和备份服务器同一台
1.首先要搭建一个samba服务器,我搭建的smb.conf配置如下:
[global]
workgroup=WORKGROUP
server string=Samba Server
security=user
map to guest = Bad User
[fander]
path=/DATA1/nanshanbackup
public=yes
writable=yes
browseable=yes
guest ok=yes
我采用的是无密码访问,为了是调试方便。当然如果希望安全的话,可以设置有密码登录,然后Windows上的sql server上添加密码凭证
2.在备份服务器上安装linux版本的备份工具
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
yum install mssql-tools
3.备份脚本如下:
#!/bin/sh
#type:Backup Remote Sql Server Databases
#name:sqlserver_backup.sh
#author:Fander.Chan
DB_SERVER="192.168.106.102"
DB_USER="sa"
DB_PASS="123456"
SAMBA_SERVER="10.1.130.206"
BIN_DIR="/usr/bin"
DBNAME="TEST"
DATE=`date +%Y%m%d`
LOG=/fander/logs
date >> ${LOG}/${DBNAME}.log
${BIN_DIR}/sqlcmd -S ${DB_SERVER} -U ${DB_USER} -P ${DB_PASS} -Q"backup database ${DBNAME} to disk='\\\\${SAMBA_SERVER}\fander\\${DBNAME}-${DATE}.bak'" 2>&1 >> ${LOG}/${DBNAME}.log
转载自:http://jishu8.cc/2016/12/08/26
文章经作者授权转载
以上是关于Linux下备份SQL Server的Shell脚本的主要内容,如果未能解决你的问题,请参考以下文章