今天简单的写了个python的mysql备份脚本,其实也不是很难呀。比shell简洁了很多!
开整:
注释都用英文写了,有些英语基础的朋友应该都可以看得懂了!
#!/usr/bin/env python #backup the gtshop #author:ley #encoding=utf8 #date:2015-06 import os,sys,datetime,time from stat import * #mysqlbackup user User = 'root' #mysqlbackup password Password = 'root' #mysqlbackup command Mysqlcommand = '/usr/local/mysql/bin/mysqldump' #gzip command Gzipcommand = '/bin/gzip' #backup mysql database Mysqldata = ['gtshop'] #backup dir Tobackup = '/home/gtshop_backup/' for DB in Mysqldata: #backup file name Backupfile = Tobackup + DB + '-' + time.strftime('%Y-%m-%d') + '.sql' #gzip file name Gzipfile = Backupfile + '.gz' if os.path.isfile(Gzipfile): print Gzipfile + "is already backup" else: #backup command Back_command = Mysqlcommand + ' -u' + User + ' -p' + Password + ' --events ' + ' --master-data=2 ' + ' --single-transaction ' + DB + ' > ' + Backupfile if os.system(Back_command) == 0: print 'Sucessful backup gtshop' else: print 'Backup failed' #gzip command Gzip_command = Gzipcommand + ' ' + Backupfile if os.system(Gzip_command) == 0: print 'sucessful gzip gtshop' else: print 'gzip failed'
执行结果:
[root@localhost script]# python mysql_backup.py Sucessful backup gtshop sucessful gzip gtshop
最后还可以根据需求,添加到任务计划中!