首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽视--目标-dir

忽视--目标-dir
EN

Stack Overflow用户
提问于 2019-03-06 22:01:46
回答 1查看 246关注 0票数 2

我正在将mariadb备份作业自动化到python程序中。但是,由于某种原因,在从os.system运行实际命令时,尽管经过正确传递并通过打印验证了--目标目录参数,但忽略了该参数。代码如下:

代码语言:javascript
复制
import os
import datetime, time
import mysql.connector as mariadb


unix_socket = "/var/lib/mysql/mysql.sock"
currentdate = datetime.datetime.now()
bkp_path = time.strftime("/%Y/%m-%d/%H%M")
ro_status = ("show global variables like 'read_only%'")
dblist = ("show databases")
db = mariadb.connect(user='pytest', password='pytest', unix_socket=unix_socket)
cur = db.cursor()
cur.execute(ro_status)
result = cur.fetchall()
for r in result:
        if "OFF" in r:
            cur.execute(dblist)
            dbs = cur.fetchall()
            for d in dbs:
                dbstr = ''.join(d)
                bkp_path = "/backups/" + dbstr + time.strftime("/%Y/%m-%d/%H%M/")
                bkp_cmd = "sudo mariabackup --backup --databases='" + dbstr + "' --target-directory=" + bkp_path +"  --user pytest --password=pytest --no-lock"
                try:
                    os.stat(bkp_path)
                except:
                    os.makedirs(bkp_path)
                try:
                   # print(bkp_cmd)
                    os.system(bkp_cmd)
                except:
                        print("Problem running backup on this host")
        else:
            print(h + " is read only and will not be backed up")

打印命令示例:-备份--数据库=“testdbBA”testdbBA--用户pytest密码=pytest--无锁

即使通过打印块单独运行,它也尝试写入本地主目录,而不是写入指定的目标dir。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-11 18:23:19

它--目标--不是--目标-目录

多亏了MFisherKDX

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55032859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档