python脚本备份

发布时间:2019-07-25 09:16:14编辑:auto阅读(1452)

    #!/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!"


关键字