【发布时间】:2012-04-03 09:20:59
【问题描述】:
我正在设置安装了 McAfee 的 PC,并被告知我需要停止程序联机以下载更新 (DAT)。我需要创建一个脚本来从 McAfee 网站下载 dat 文件,并将此文件放在 McAfee 可以访问和安装的服务器上。
过去有没有人这样做过。
【问题讨论】:
标签: powershell scheduled-tasks mcafee
我正在设置安装了 McAfee 的 PC,并被告知我需要停止程序联机以下载更新 (DAT)。我需要创建一个脚本来从 McAfee 网站下载 dat 文件,并将此文件放在 McAfee 可以访问和安装的服务器上。
过去有没有人这样做过。
【问题讨论】:
标签: powershell scheduled-tasks mcafee
我实际上已经这样做了。我已经有一两年没有测试过这个脚本了,但这就是我正在使用的。这不是用 Powershell 编写的,但如果您更改目录,我认为这可以在 Windows 上运行。
#!/usr/bin/python
import ftplib
import tarfile
import shutil
import os
import re
import time
scannerDir = "/usr/local/uvscan/"
tmp = "/tmp/avscanner/"
def downloadDat():
datfile = ""
r = re.compile("^avvdat")
ftp = ftplib.FTP("ftp.nai.com", "anonymous", "email@yourdomain.com")
ftp.cwd("/pub/datfiles/english")
list = ftp.nlst()
for x in list:
if r.search(x):
datFile = x
f = open(tmp + "datfile", 'wb')
ftp.retrbinary("RETR " + datFile, f.write)
f.close()
ftp.quit()
def unpackDat():
tFile = tarfile.open(tmp + "datfile", 'r')
for f in tFile.getnames():
tFile.extract(f, tmp)
def createDirs():
if os.path.isdir(tmp) == False:
os.mkdir(tmp, 0700)
os.chown(tmp, 0, 95)
os.chmod(tmp, 0755)
def doCleanup():
shutil.rmtree(tmp)
def installFiles():
shutil.copyfile(tmp + "/avvclean.dat", scannerDir + "/avvclean.dat")
shutil.copyfile(tmp + "/avvnames.dat", scannerDir + "/avvnames.dat")
shutil.copyfile(tmp + "/avvscan.dat", scannerDir + "/avvscan.dat")
def isOld():
if os.path.isfile(scannerDir + "/avvclean.dat"):
if time.time() - os.path.getctime(scannerDir + "/avvclean.dat") < 80000:
return True
else:
return False
else:
return True
def main():
if isOld():
createDirs()
downloadDat()
unpackDat()
installFiles()
doCleanup()
if __name__ == "__main__":
main()
【讨论】: