前言--本地Linux远程连接SqlServer:
实现Linux下远程连接SqlServer过程,或者搜索在Linux上安装Sqlcmd,上篇文章我们讲了在RedHat(或Centos)上安装sqlcmd,现在讲的是Ubuntu(或者Deepin)系列安装教程:
1 导入公共存储库 GPG 密钥:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
2 注册 Microsoft Ubuntu 存储库:
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
3 更新源列表(可以更新依赖包,减少很多不必要的麻烦),并使用 unixODBC 开发人员包运行安装命令:
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
4 添加/opt/mssql-tools/bin/到你路径bash shell 中的环境变量:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
5 若要使sqlcmd/bcp能从交互式/非登录会话,bash shell 访问修改路径中 ~/.bashrc文件使用以下命令:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
好了,大公告成!可以在本地远程操纵我们云服务器上的SqlServer数据库了。
由于我之前写过一个MySQL服务器自动备份数据的教程,所以这里不做过多啰嗦了,详细过程可以看那个教程,这里只贴代码,我也是从网上搜集别人的代码,懒得写脚本了,代码亲测有效:
自动备份任务是借助Linux的Crontab命令完成的,下面是相关命令,具体的Crontab命令我之前的文章里面有写。
1、查看crontab执行历史记录
tail -n 100 -f /var/log/cron
2、添加crontab定时任务
crontab -e
添加定时任务,每天23点0分执行
0 23 * * * /backup/backup_mssql.sh
3、查看crontab定时任务
crontab -l
完整脚本代码:
#!/bin/bash
#设置mssql备份目录
folder=/backup/mssql
cd $folder
day=`date +%Y%m%d`
#rm -rf $day
#mkdir $day
#cd $day
#数据库服务器,一般为localhost
host=localhost
#用户名
user=sa
#密码
password='123456'
#要备份的数据库
db=TestDB
#数据要保留的天数
days=30
#由于crontab命令是没环境变量,所以sqlcmd命令,要用全路径,否则定时执行会执行失败
/opt/mssql-tools/bin/sqlcmd -H$host -U$user -P$password -Q "
BACKUP DATABASE TESTDB
TO DISK = '/backup/mssql/mssql"$day".bak'
WITH FORMAT;
GO"
#删除之前的备份
#cd ..
day=`date -d "$days days ago" +%Y%m%d`
rm -rf "TESTDB"$day".bak"
echo "remove TESTDB"$day".bak"
参考文章:
http://blog.51cto.com/svsky/2121967
https://blog.csdn.net/fuck487/article/details/79295314