1. 程式人生 > >python編寫開發更新數據後臺腳本

python編寫開發更新數據後臺腳本

re.sub lis 目錄 adl find 更新 task tree tdi

#!/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編寫開發更新數據後臺腳本