前提:

1系统已经安装了python环境

2安装pymysql:python -m pip install pymysql

3给py文件添加执行权限:chmod +x baksql.py

3执行语句:python baksql.py

#!/usr/bin/env python
# coding: utf-8

import os
import pymysql
import time

''' 定义变量 '''
databases = ['wl2020v2'] # 定义要备份的数据库名
sql_host = 'localhost'
sql_user = 'root' # 数据库登陆用户
sql_pwd = '123456' # 数据库登陆密码
root_dir = '/root/baksql/' # 存放sql文件的地址


''' 创建存放备份文件的文件夹 '''
if not os.path.exists(root_dir): # 判断如果没有目录
os.mkdir(root_dir) # 创建
print('创建文件夹成功:', os.path.abspath(root_dir)) # 打印创建成功


''' 开始备份到指定文件夹 '''
os.chdir(root_dir) # 改变当前工作目录到指定的路径
for database_name in databases: # 循环zabbix数据库
today_sql = time.strftime('%Y%m%d')+'_'+database_name+'.sql' # 定义数据库文件名变量
# 编写cmd语句 sql_comm="mysqldump -u%s -p%s %s > %s"%(sql_user,sql_pwd,database_name,today_sql) # 定义备份数据库变量 
if os.system(sql_comm) == 0: # 如果上一条执行结果等于0,表示成功
print(database_name, 'is backup successfully!') # 打印成功信息
print('备份文件地址:',os.path.abspath('./')+today_sql)
else: # 备份失败
print(database_name, 'is backup fai!') # 打印成功信息