码迷,mamicode.com
首页 > 编程语言 > 详细

python编写开发更新数据后台脚本

时间:2018-07-16 17:14:18      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:with open   write   std   后台   odi   read   os.path   add   path   

#!/usr/bin/env python #coding:utf-8 import os import re import shutil as copy copy_web_service = ‘/data/web/s1‘ dest_web_service = ‘/data/web/s‘ all_web_service = ‘/data/web/‘ crontab_file = ‘/data/update/crontab.txt‘ openservice_num = ‘/data/update/open_num.txt‘ #获取开服数字并拷贝一个新目录出来 def copy_newservice(): global open_num all_service = set() alredy_open_service = set() if not os.path.exists(openservice_num): print(‘%s开服数文件不存在,请检查‘ % openservice_num) exit(1) with open(‘/data/update/open_num.txt‘,‘r‘) as f: for file in f.readlines(): num = file.strip() for nums in range(1,int(num)+1): all_service.add(nums) for service in os.listdir(all_web_service): if re.match(‘s\d+‘,service): alredy_open_service.add(int(service[1:])) cha_num = alredy_open_service^all_service open_num = list(cha_num) if not os.path.exists(copy_web_service): print(‘%s目录不存在,脚本退出‘ % copy_web_service) exit(1) else: for nums in open_num: dest_dir = dest_web_service + str(nums) if not os.path.exists(dest_dir): copy.copytree(copy_web_service,dest_dir) #修改a.py脚本区服名字三处 def modify_script(): script = ‘‘ modify_list = [‘s1‘,‘s1‘,‘s1‘] for nums in open_num: new = ‘s‘ + str(nums) for name in modify_list: dest_dir = dest_web_service + str(nums) if not os.path.exists(dest_dir+‘/a.py‘): print(‘%s脚本不存在,脚本退出‘ % (dest_dir+‘/a.py‘)) exit(1) with open(dest_dir+‘/a.py‘) as f: for line in f.readlines(): if line.find(str(name)): line = re.sub(name,new,line) script += line else: script += line with open(dest_dir+‘/a.py‘,‘w‘) as f: f.write(script) script = ‘‘ #清空do.txt和insert.log文件 def clear_file(): kong = ‘‘ file_list = [‘/insert.log‘,‘/do.txt‘] for nums in open_num: for files in file_list: dest_dir = dest_web_service + str(nums) if not os.path.exists(dest_dir+files): print(‘%s文件不存在,脚本退出‘ % (dest_dir+files)) else: with open(dest_dir+files,‘w‘) as f: f.write(kong) #创建定时任务 def crontab(): if not os.path.exists(crontab_file): print(‘%s文件不存在,请检查‘ % crontab_file) for nums in open_num: task = ‘*/5 * * * * python /data/web/s‘ + str(nums) + ‘/a.py >> /data/web/s‘ + str(nums) + ‘/insert.log\n‘ with open(crontab_file,‘a‘) as f: f.write(task) os.system(‘crontab %s‘ % crontab_file) copy_newservice() modify_script() clear_file() crontab()

python编写开发更新数据后台脚本

标签:with open   write   std   后台   odi   read   os.path   add   path   

原文地址:http://blog.51cto.com/yht1990/2144962

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!