| AVG CTF File "d600ppxe.bin" s=2484161 v=6 t=120 r=0 l=2 ; "d6032pgl.bin" s=1547353 v=6 t=516 r=515 l=7 ; "d6032lhj.bin" s=3775889 v=6 t=516 r=0 l=7 ; "../xx/u6122pdc.bin" s=3011303 v=6 t=639 r=516 l=0 ; "../xx/u6122wbc.bin" s=959041 v=6 t=639 r=606 l=0 ; "../xx/u6122xxo.bin" s=801149 v=6 t=639 r=627 l=0 ; |
| #!/usr/bin/python import re,string,commands,sys,string,os.path import smtplib from time import localtime,time,strftime status_n,status_s=commands.getstatusoutput('mount -t smbfs -o username=abc,password=abc //hpnse45/vol1 /mnt/update_v') if status_n: print " Mount my other smb file error!" sys.exit(1) work_dir='/mnt/update_v/temp/update_v/avg' version_file='avg6info.ctf' #avg ftp site avg_ftp="ftp://ftp.grisoft.com" #virus info data virus_data_url='/pub/softw/60/xx/avg6info.ctf' virus_data_dir='/pub/softw/60/xx' #Email notify when update #Email_notify=1 enable email notify otherwise Email_notiyf=0 to turn it off email_notify=1 notify_from ="set you sender email address" notify_email="your email address" notify_time=strftime('%m-%d-%H:%M',localtime(time())) notify_message="AVG update virus at "+notify_time notify_subject='Update AVG notify' print "Download virus info file....." virus_info_url=avg_ftp+virus_data_url print virus_info_url status_n,status_s=commands.getstatusoutput('wget -O /tmp/avg6info.ctf '+virus_info_url) if status_n: print "Download virus information file error!" sys.exit(1) else : print "Download successful !" last_file=open("/tmp/avg6info.ctf").readlines() parse_string=last_file[len(last_file)-1] last_file=re.search('[a-zA-Z0-9]*.bin',parse_string) if last_file==None: print "Parse last file error !" sys.exit(1) last_file=last_file.group() last_version=re.search('t=[0-9][0-9][0-9]',parse_string) if last_version==None: print "Parse last file version error !" sys.exit(1) last_version=last_version.group() last_filesize=re.search('s=[0-9]*',parse_string) if last_filesize==None: print "Parse last file size error !" sys.exit(1) last_filesize=last_filesize.group() print "=======last virus file ========" print "file ="+last_file print "version="+last_version[2:] print "size="+last_filesize[2:] print "*******************************" need_update=0 #compare version file and last_file if os.path.exists(work_dir+"/"+version_file): current_file=open(work_dir+"/"+version_file).readlines() parse_string=current_file[len(current_file)-1] current_file=re.search('[a-zA-Z0-9]*.bin',parse_string) if current_file==None: print "Parse current file error !" sys.exit(1) current_file=current_file.group() current_version=re.search('t=[0-9][0-9][0-9]',parse_string) if current_version==None: print "Parse current version error!" sys.exit(1) current_version=current_version.group() current_filesize=re.search('s=[0-9]*',parse_string) if current_filesize==None: print "parse current file size error!" sys.exit(1) current_filesize=current_filesize.group() print "=======current file ===========" print "file="+current_file print "version="+current_version[2:] print "size="+current_filesize[2:] last_file=open("/tmp/avg6info.ctf").readline() current_file=open(work_dir+"/"+version_file).readline() if last_file==current_file: need_update=0 commands.getstatusoutput('rm -f '+version_file) else: need_update=1 else: print "avg6info.ctf no exists ,need update!" need_update=1 if need_update==1: #get last_file print "Download update file............." update_url=avg_ftp+virus_data_dir+"/"+last_file print update_url status_n,status_f=commands.getstatusoutput('wget -O /tmp/'+last_file+' '+update_url) if status_n: print "can't get last update file!" sys.exit(1) status_n,status_s=commands.getstatusoutput('rm -f '+work_dir+'/'+current_file) status_n,status_s=commands.getstatusoutput('rm -f '+work_dir+'/*.txt') status_n,status_s=commands.getstatusoutput('mv -f /tmp/'+last_file+' '+work_dir) if status_n: print "update bin file fails!" else: status_n,status_s=commands.getoutput('mv -f /tmp/'+version_file+' '+work_dir) if status_n: print "update version file fails!" else: if email_notify : notify_message="Subject: "+notify_subject+"\n"+notify_message+"\n version="+last_version[2:] server=smtplib.SMTP('localhsot') server.sendmail(notify_from,notify_email,notify_message) server.quit() print "complete update file!" else: print "virus_file is up to date!" status_s=commands.getoutput('umount /mnt/update_v') |
| if Not
FileExists(@ScriptDir&"\"&@computername&".txt") Then filedelete("C:\Program Files\Grisoft\AVG6\UPDATE\*.bin") filecopy (@ScriptDir&"\*.bin","C:\Program Files\Grisoft\AVG6\UPDATE") run("C:\Program Files\Grisoft\AVG6\avgw.exe") FileOpen(@ScriptDir&"\"&@computername&".txt",2) endif exit |