Python备份MySQL数据库【转】
#!/usr/bin/env python # coding: utf-8 import os import time ''' defined variable ''' databases=['hch'] #定义要备份的数据库名 sql_user='root' #数据库登陆用户 sql_pwd=['123'] #数据库登陆密码 ''' Defining the remote backup variables ''' jv_test01_ip="192.168.199.193" #备份服务器ip jv_test01_user="work" #账户 jv_test01_port='19741' #端口 jv_test01_dir="/home/work/" #要备份到的服务器路径
''' Create the backup file directory ''' mkdir_dir="/home/work/"+time.strftime('%Y%m%d')+"/" #在/home/work/目录下用当天时间的格式创建目录 if not os.path.exists(mkdir_dir): #判断如果没有当天时间目录 os.mkdir(mkdir_dir) #创建 print 'Successfully created directory', mkdir_dir #打印创建成功
''' Start backup of database to the specified directory ''' for database_name in databases: #循环zabbix数据库 os.chdir(mkdir_dir) #改变当前工作目录到指定的路径 today_sql=mkdir_dir+database_name+'_'+time.strftime('%Y%m%d')+'.sql' #定义数据库文件名变量 sql_comm="mysqldump -u %s -p'%s' %s > %s"%(sql_user,sql_pwd[0],database_name,today_sql) #定义备份数据库变量 if os.system(sql_comm) == 0: #如果上一条执行结果等于0,表示成功 print database_name,'is backup successfully!' #打印成功信息 else: #否则 print database_name,'is backup fai!' #打印成功信息 time.sleep(3)
scp_comm="scp -P%s %s %s@%s:%s "% (jv_test01_port,today_sql,jv_test01_user,jv_test01_ip,jv_test01_dir)#把备份的数据库文件拷贝到指定的服务器的备份目录
if os.system(scp_comm) == 0: ##如果上一条执行结果等于0,表示成功
print today_sql,'This file backup to jv_test01 success!' #打印成功信息
else: #否则
send_mail(mailto_list,'db_bak','The in scp error !!') #发送邮件,提示未远程备份成功信息
转自
Python数据库备份脚本 - 东邪西毒 - 博客园 https://www.cnblogs.com/liuyansheng/p/6226608.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-09-19 nginx与PHP的关系和交互方式【转】
2016-09-19 解析:DNS 原理(入门篇)
2016-09-19 GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】