微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

备份sqlserver 数据库到远程主机脚本

备份sqlserver 数据库到远程主机脚本

mssqlBackup.py:

# Name: mssqlBackup.py
# Purpose: 
#
# Author: yanglixue
#
# Created: 2015/04/01
#-------------------------------------------------------------------------------

import pymssql
import datetime
import logging
import traceback
import os 

log_format = '%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'
log_file="c:\\" + "backup_" +datetime.datetime.Now().strftime("%Y-%m-%d") + ".log"
logging.basicConfig(filename=log_file,format=log_format,level=logging.INFO)

backupdir="E:\\backup\\"

delcmd="D:\EclipseWork\mssqlBackup\del.bat >> c:\\" + "del_" +datetime.datetime.Now().strftime("%Y-%m-%d") + ".log"

dbs=['db2','test']

try:
    
    logging.info("connect database ......")
    
    conn=pymssql.connect(host='10.1.1.2',database='master',user='sa',password='sa',autocommit=True)
    cur=conn.cursor()
     
    for dbname in dbs:
        
        Now = datetime.datetime.Now()   
        sdate = Now.strftime("%Y-%m-%d_%H-%M-%s")
        
        bakname=backupdir + dbname + "_" + sdate + ".bak"
        sql = "".join(["backup database [",                       dbname,                       "] to disk=N'"+ bakname,                       "' with noinit,noformat,checksum,stop_on_error"
                      ]
                      )
        cur.execute(sql)
        
        logging.info(sql)
        logging.info("db:" + dbname + "  OK. ")
      
    conn.close()

    logging.info(delcmd)
    out = os.system(delcmd)  
    logging.info(delcmd + " " + str(out))

    
        
except Exception as ex:
    logging.error("Exception:" + traceback.format_exc())


del.bat:

echo "start ..." 

@echo on

xcopy E:\backup\* \\192.168.1.11\E$\dbbackup

del E:\backup\* /Q

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐