irpas技术客

linux系统下sqlserver数据库备份脚本以及异机备份_山川之水_linux sqlserver 备份

网络 7384

主机备份脚本

#/bin/bash

user=sa

passwd=123456

back_path=/home/shell/

db_name=testdb

back_time=`date +%Y%m%d_%H%M%S`

back_filename=$back_path$db_name$back_time

del_time=`date -d "2 day ago" +"%Y%m%d"`

del_backfile=$back_path$db_name$del_time

sqlcmd -S localhost -U $user -P $passwd -d $db_name -Q "BACKUP DATABASE $db_name to disk='$back_filename.bak'"

tar -zcPf $back_filename.tar.gz $back_filename.bak

rm -f $back_filename.bak

if [ -e $back_filename.tar.gz ];then

rm -rf $del_backfile*.gz

echo "database[multiverse] backup success! "

else

echo "database[multiverse] backup failed!"

fi ?

异地备份拷贝脚本

#!/usr/bin/expect -f #!/bin/sh set passwd "123456" set DATE [exec date +%Y%m%d] spawn scp root@192.168.10.100:/home/shell/*$DATE*.tar.gz /home/test_DB_BAK expect { ? ?"pass" ? ? ? ? { ? ? ? ? ? send "$passwd\n" ? ? ? ? } ? ?"yes/no" ? ? ? ? { ? ? ? ? ? sleep 5 ? ? ? ? ? send_user "send yes" ? ? ? ? ? send "yes\n" ? ? ? ? } ? ?eof ? ? { ? ? ? ? sleep 5 ? ? ? ? send_user "eof\n" ? ? } } set timeout 3000 send "exit\r" expect eof ?

注意点:

1.执行脚本文件夹有可访问权限,通过chmod命令赋权限。

2.两台机器需有scp,spawn命令。

3.两台机器在同一个网段,网络畅通。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Linux #sqlserver #备份 #D #quot2 #day