在我的python
实用程序中,我试图使用mysqldump
进行MySQL数据库备份。它运行成功,但是我的备份文件夹中出现了0kb文件。
这是我的代码;
DB_HOST = '192.168.1.1'
DB_USER = 'root'
DB_USER_PASSWORD = '_root_user_password_'
DB_NAME = 'db_name'
BACKUP_PATH = '/backup/dbbackup/'
DATETIME = time.strftime('%m%d%Y-%H%M%S')
TODAYBACKUPPATH = BACKUP_PATH + DATETIME
dumpcmd = "mysqldump -h " + DB_HOST + " -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + DB_NAME + " > " + TODAYBACKUPPATH + "/" + DB_NAME + ".sql"
os.system(dumpcmd)
有人可以引导我指出我在这里缺少什么吗?
答案 0 :(得分:1)
您可以在python控制台中分析代码(只需在shell命令行上执行python
),然后发现一些问题:
首先,代码顶部缺少导入:
import time, os
第二,未设置db
变量,我想应该是DB_NAME
。 python中的一个好习惯是使用%
格式连接字符串:
dumpcmd = "mysqldump -h %s -u %s -p%s %s > %s/%s.sql" % (DB_HOST,DB_USER,DB_USER_PASSWORD,DB_NAME,TODAYBACKUPPATH,DB_NAME,)
最后,作为提示,添加print dumpcmd
并手动测试命令。
请记住,应首先创建路径,或将/
替换为-
作为文件名。