python脚本备份

#!/usr/bin/python
#encodeing:utf-8
import os
import time
import string
#需要备份的目录
source = ['/usr/local/nagios','/var/www/html/cacti']
#存放备份的路径
target_dir = '/data/backup/nagios&cacti'
#目录日期
today = target_dir + time.strftime('%Y%m%d')
#当前时间
now = time.strftime('%H%M%S')
#创建存放备份的目录
if not os.path.exists(today):
        os.mkdir(today)
        print 'Successful created directory', today
else:
        print 'Already Directory'
#停留5秒
time.sleep(5)
#备份名字
target = today + os.sep + now + '.zip'
#备份压缩命令
zip_command = "zip -qr '%s' %s" % (target, ' '.join(source))
#检查备份是否成功
if os.system(zip_command) == 0:
        print 'Successful backup to', target
else:
        print 'Backup  failed'
#mysql备份
""" mysql-backup"""
#定义备份数据库名
databases = ['cacti','Syslog']
#数据库用户
sql_user = 'root'
#数据库密码
sql_pwd = 'root'
#定义存放备份的目录
mkdir_dir = "/data/backup/mysql/"
bak_dir = '/data/backup/*'
remote_ip = '11.12.3.8'
remote_dir = '/backup/mhfile/monitor'
#创建目录
if not os.path.exists(mkdir_dir):
        os.mkdir(mkdir_dir)
        print 'Successfully created directory', mkdir_dir
#使用for循环来备份数据库
for database_name in databases:
        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,database_name,today_sql)
        if os.system(sql_comm) == 0:
                print database_name,'was backup successful!'
        else:
                print database_name,'was backup failed!'
time.sleep(3)
scp_comm = "scp -r %s %s:%s" % (bak_dir,remote_ip,remote_dir)
if os.system(scp_comm) == 0:
        print "copy backup was successful!"
else:
        print "copy backup was failed!"


你可能感兴趣的:(python,备份脚本)