pythonバックアップmysqlスクリプト

1615 ワード

今日はpythonのmysqlバックアップスクリプトを簡単に書きましたが、実は難しくはありません.シェルよりずっと簡潔です!
オープン:
注釈はすべて英語で書いて、一部の英語の基礎の友达はすべて理解することができるはずです!
#!/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

最後に、必要に応じて、タスク計画に追加することもできます.