python3 在数据库本机做备份,然后将备份通过scp的方式同步到异机,kingbase数据库需要配置本机无密码访问
import os
import subprocess
import datetime
now = datetime.datetime.now()
curDate = now.strftime("%Y%m%d")
backUpPath = "/data/databackup/kingbase"
kdbHost = "127.0.0.1"
kdbUser = "system"
kdbPort = "54321"
kdbNames =['database1','database2']
for dbname in kdbNames:
fileName = backUpPath+"/"+dbname+"_"+curDate+".dmp"
print(fileName)
dbbackCmd = "/data/kingbase/Server/bin/sys_dump -h "+kdbHost+" -p "+kdbPort+" -U "+kdbUser+" -Fc -f "+fileName+" "+dbname
print(dbbackCmd)
p = subprocess.run(dbbackCmd, shell=True)
scp_command = " scp -r " + fileName + " root@173.11.31.17:/data/databackup/"
if os.path.exists(fileName):
p = subprocess.run(scp_command, shell=True)
os.remove(fileName)