亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python批量還原數據庫的代碼怎么寫

發布時間:2023-02-15 09:36:38 來源:億速云 閱讀:136 作者:iii 欄目:開發技術

這篇“python批量還原數據庫的代碼怎么寫”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python批量還原數據庫的代碼怎么寫”文章吧。

代碼如下:

# -*- coding: utf-8 -*-
import shutil,os

# 根據指定路徑下的數據庫備份文件生成還原腳本
def getFilesAndBuildSql(path,restorePath):
    for root,dirs,files in os.walk(path):
        for nfile in files:
            if os.path.splitext(nfile)[1] == ".bak":        # 篩選bak文件
                dbName = os.path.splitext(nfile)[0]
                logName = dbName + "_log"

                # 創建數據還原腳本并寫入文件
                sqlFileName = 'C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\restore.sql'
                with open(sqlFileName, 'a') as file_object:
                        file_object.write("--還原數據庫{0}--\n".format(dbName).decode("utf-8").encode("utf-8"))
                        file_object.write("RESTORE DATABASE {0}  FROM DISK = 'C:\\SqlRestore\\bak\\{1}' \n".format(dbName,nfile).decode("utf-8").encode("utf-8"))
                        file_object.write("WITH\n".decode("utf-8").encode("utf-8"))
                        file_object.write("     MOVE '{0}' TO '{2}\\{1}.mdf',\n ".format(dbName.replace("Kernel_HY_",""),dbName,restorePath).decode("utf-8").encode("utf-8"))
                        file_object.write("     MOVE '{0}' TO '{2}\\{1}.ldf'\n ".format(logName.replace("Kernel_HY_",""),logName,restorePath).decode("utf-8").encode("utf-8"))
                        file_object.write("GO\n\n".decode("utf-8").encode("utf-8"))

                # 生成刪除數據庫腳本
                with open('C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\drop.sql', 'a') as file_object:
                        file_object.write("--刪除數據庫{0}--\n".format(dbName).decode("utf-8").encode("utf-8"))
                        file_object.write("DROP DATABASE {0} \n".format(dbName).decode("utf-8").encode("utf-8"))
                        file_object.write("GO\n\n".decode("utf-8").encode("utf-8"))    
                            
                # 控制臺輸出
                print("RESTORE DATABASE {0}  FROM DISK = 'C:\\{1}' ".format(dbName,nfile))
                print("WITH")
                print("     MOVE '{0}' TO '{2}\\{1}.mdf', ".format(dbName.replace("Kernel_HY_",""),dbName,restorePath))
                print("     MOVE '{0}' TO '{2}\\{1}.ldf' ".format(logName.replace("Kernel_HY_",""),logName,restorePath))
                print("GO")
                print("")

# 創建發布文件夾
os.makedirs("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore")
# 根據數據庫備份文件目錄生成還原腳本
getFilesAndBuildSql("C:\\Game_ZS\\Database\\dbbak","C:\\db")

# 生成還原BAT文件
with open("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\restore.bat", 'a') as file_object:
                         file_object.write("md c:\\db\n".decode("utf-8").encode("utf-8"))
                         file_object.write("osql -E -i c:\\SqlRestore\\restore.sql\n".decode("utf-8").encode("utf-8"))
                         file_object.write("--還原數據庫--\n".decode("utf-8").encode("gbk"))
                         for root,dirs,files in os.walk("C:\\Game_ZS\\Database\\dbbak\\link"):
                            for nfile in files:
                                print("osql -E -i c:\\{0}".format(nfile))
                                with open("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\restore.bat", 'a') as file_object:
                                    file_object.write("osql -E -i c:\\SqlRestore\\link\\{0}\n".format(nfile))

# 復制鏈接服務器腳本文件夾
shutil.copytree("C:\\Game_ZS\\Database\\dbbak\\link","C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\link")

# 復制bak備份文件
shutil.copytree("C:\\Game_ZS\\Database\\dbbak\\bak","C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\bak")

# 壓縮數據發布文件夾 
os.system("rar a   restore.rar SqlRestore")
# 測試壓縮文件
os.system("rar t restore.rar")
# 刪除生成的發布目錄
shutil.rmtree("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore")

python主要應用領域有哪些

1、云計算,典型應用OpenStack。

2、WEB前端開發,眾多大型網站均為Python開發。

3、人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。

4、系統運維工程項目,自動化運維的標配就是python+Django/flask。

5、金融理財分析,量化交易,金融分析。

6、大數據分析。

以上就是關于“python批量還原數據庫的代碼怎么寫”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荆州市| 吉木萨尔县| 黄陵县| 黔江区| 棋牌| 谷城县| 宾阳县| 达日县| 宝兴县| 安图县| 潢川县| 富裕县| 垣曲县| 磐石市| 巴青县| 博爱县| 武清区| 宜州市| 武夷山市| 辽宁省| 北海市| 翁牛特旗| 思南县| 铁力市| 常宁市| 册亨县| 华蓥市| 乌苏市| 农安县| 长子县| 葫芦岛市| 杭锦后旗| 佳木斯市| 东乌珠穆沁旗| 潜江市| 石台县| 洛川县| 文登市| 延吉市| 卓资县| 上林县|