logo logo
关于我们

技术分享

技术分享 python自动化脚本之备份mysql数据库

python自动化脚本之备份mysql数据库

2020-08-05

综合别人的python实现备份mysql的自动化脚本,centos7下用python3实现的脚本(python2的只需要修改下print的位置即可)

亲测可执行,且服务器可以定义为其他服务器,未对数据库名是否正确做判断和处理(测试了仅仅输出的备份文件里没什么有效信息而已,不影响)

脚本如下:

 

 1 #!/usr/bin env python3 2 import os 3 import time 4 import datetime 5 #定义服务器,用户名、密码、数据库名称(多个库分行放置)和备份的路径 6 DB_HOST = 'localhost' 7 DB_USER = 'root' 8 DB_USER_PASSWD = 'mypassword' 9 DB_NAME = '/mnt/dbbackup/dbnames.txt'10 BACKUP_PATH = '/mnt/dbbackup/mysql/'11 12 DATETIME = time.strftime('%Y%m%d-%H%M%S')13 TODAYBACKUPPATH = BACKUP_PATH + DATETIME14 15 print("createing backup folder!")16 #创建备份文件夹17 if not os.path.exists(TODAYBACKUPPATH):18         os.makedirs(TODAYBACKUPPATH)19 20 print("checking for databases names file")21 22 23 #定义执行备份脚本,读取文件中的数据库名称,注意按行读写,不校验是否存在该库24 def run_backup():25         in_file = open(DB_NAME,"r")26         for dbname in in_file.readlines():27                 dbname = dbname.strip()28                 print("now starting backup database %s" %dbname)29                 dumpcmd = "mysqldump -u" +DB_USER + " -p"+DB_USER_PASSWD+" " +dbname+" > "+TODAYBACKUPPATH +"/"+dbname+".sql"30                 print(dumpcmd)31                 os.system(dumpcmd)32         file1.close()35 #执行压缩的函数36 def run_tar():37         compress_file = TODAYBACKUPPATH + ".tar.gz"38         compress_cmd = "tar -czvf " +compress_file+" "+DATETIME39         os.chdir(BACKUP_PATH)40         os.system("pwd")41         os.system(compress_cmd)42         print("compress complete!")43         #删除备份文件夹44         remove_cmd = "rm -rf "+TODAYBACKUPPATH45         os.system(remove_cmd)46 47 #备份数据库文件存在就执行备份和压缩,否则退出48 if os.path.exists(DB_NAME):49         file1 = open(DB_NAME)50         print("starting backup of all db listed in file "+DB_NAME)51         run_backup()52         run_tar()53         print("backup success!")54 else:55         print("database file not found..")56         exit()

 

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 容灾备份

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

请拨打电话
为您提供支持

400-9955-698