python运维脚本_Python之运维小脚本

import time

import datetime

import os

import shutilfrommonitor_logger import Loggerfrommonitor_falcon import Falcon

import traceback'''fromjin.cao

cd/etc/nginx && tar -zcf nginx_conf_bak_18.tgz conf.d/ stream.d/mv/etc/nginx/nginx_conf_bak_18.tgz /usr/local/bin/monitor/nginxbak/20190711/nginx_conf_bak_18.tgz'''log_file = u"monitor_backup_up.log"

classBackup():

def __init__(self, base_path, logger=None):

self.logger= logger if logger elseLogger(log_file).get_logger()

self.falcon=Falcon(self.logger)

self.base_path=base_path

def mkdir_files(self):

path_time= self.base_path + '/'+time.strftime('%Y%m%d') + '/'

ifnot os.path.exists(path_time):

os.makedirs(path_time)returnpath_time

def command(self, cmd):

os.popen(cmd)

def backup(self,path_time):try:

filename= 'nginx_conf_bak_%s.tgz'%(time.strftime('%H'))

cmd1= "cd /etc/nginx && tar -zcf" + filename + 'conf.d/ stream.d/'self.command(cmd1)

cmd2= "mv /etc/nginx/" + filename + ' '+path_time

self.command(cmd2)

except:

self.logger.error(traceback.format_exc())

def removedirs(self):

oldpath= (datetime.datetime.now() - datetime.timedelta(days=29)).strftime("%Y%m%d")

listpath=os.listdir(self.base_path)

tag=Truewhiletag:if len(listpath) > 29:for dir inlistpath:if oldpath >dir:

rmdir= base_path + '/'+dirtry:

shutil.rmtree(rmdir)

except:

self.logger.error(traceback.format_exc())

listpath.remove(listpath[0])else:

tag=Falseelse:

tag=False

def main(self):

path_time=self.mkdir_files()

self.backup(path_time)

self.removedirs()if __name__ == '__main__':

base_path= '/usr/local/bin/monitor/nginxbak'backup=Backup(base_path)

backup.main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值