這篇文章分享使用python產生一個匯出資料庫的bat指令檔的範例程式碼
執行個體如下:
# 環境: python3.xdef getExportDbSql(db, index):# 擷取匯出一個資料庫執行個體的sql語句sql = 'mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql' %(db['user'], db['pwd'], db['host'], db['port'], index, db['server'], index, index)return sqldef createDbBackupFile(fname, dbList):# 產生資料庫匯出的語句儲存到檔案if not fname or not dbList:return Falsef = open(fname, 'w')if f:f.write('echo @off\n\n')for db in dbList:for index in db['indexList']:f.write('REM %s.s%d\n' %(db['server'], index))f.write('%s\n\n' %getExportDbSql(db, index))f.write('\n')f.close()return Truereturn Falsedef initDb(user, pwd, host, port, server_name, indexList):# 產生db字典對象並返回db = {}db['user'] = userdb['pwd'] = pwddb['host'] = hostdb['port'] = portdb['server'] = server_namedb['indexList'] = indexListreturn dbdef displayDb(db):print('user =', db['user'])print('pwd =', db['pwd'])print('host =', db['host'])print('port =', db['port'])print('server =', db['server'])print('indexList =', db['indexList'])print('\n')def displayList(list):for item in list:displayDb(item)if __name__ == '__main__':db1 = initDb('root', '123456', '127.0.0.1', 3306, 'th1', [10000, 1, 3])db2 = initDb('root', '123456', '127.0.0.1', 3306, 'th2', [10000, 1])dbList = []dbList.append(db1)dbList.append(db2)#displayList(dbList)createDbBackupFile('export00.bat', dbList)