删除用户邮箱邮件--根据邮件的时间段删除
1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 4 import subprocess 5 import datetime 6 7 now_time = datetime.datetime.now().strftime('%Y-%m-%d_%H_%M') 8 user_list = 'userlist.txt' # 根据这个文本中提供的用户删除邮件 9 log_file = '/tmp/log_deleteUserMsg.log.%s' % now_time 10 start_time = '20180101' # 删除邮件的开始时间 11 end_time = '20200713' # 删除邮件的结束时间 12 13 # 日志 14 def logger(content): 15 with open(log_file, 'a+') as f: 16 print content.strip() 17 f.write(content + '\n') 18 19 # 删除用户的邮件 根据邮箱中的时间段删除 20 def delete_user_msg(coremailuser): 21 deleteMsg = '/home/coremail/bin/userutil --delete-old-msg %s rectime=%s-%s' % (coremailuser, start_time, end_time) 22 logger('[-] Command: %s' % deleteMsg) 23 delete_stdout = subprocess.Popen(deleteMsg, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 24 for line in delete_stdout.stdout.readlines(): 25 logger(line.strip()) 26 27 def main(): 28 with open(user_list, 'r') as f: # 读取用户列表userlist.txt 29 for user_line in f: 30 logger('Start delete user %s eml...' % user_line.strip()) 31 delete_user_msg(user_line.strip()) 32 print 'log save to %s' % log_file 33 34 if __name__ == '__main__': 35 main()