1. プログラムのテスト
使用法: python check_change.py update /home/wwwroot
python check_change.py check /home/wwwroot
# python check_change.py update /data/www #サイトの md5 値を生成します
# echo ' ' > /data/www/sitemap.html #クリア ファイルをテストします
# rm -rf /data/ www/sitemap.xml #ファイルの削除をテストします
# python check_change.py check /data/www #改ざんされたファイルを見つけます
/data/www/sitemap.xml
/ data/www/sitemap.html
os、sys、サブプロセスをインポート
def update(path):
f = open(file,'w')
os.walk(path) の root、dirs、files:
ファイルの名前:
line = os.path.join(root, name)
(stdin,stderr) = subprocess.Popen(['md5sum',line],stdout=subprocess.PIPE).communicate()
f.write( stdin)
f.close()
def check(path):
f = open(file,'r')
f の行:
check_ok = """echo '%s' | md5sum -c > / DEV/NULL 2 & GT; & 1 " % Line
#print Check_ok
そうでない場合、subprocess.call (Check_ok、shell = true) == 0:
異常 = LINE.SPLIT ()
PRIN T 異常[1]
f.close()
def 使用法():
print '''
使用法: python %s update /home/wwwroot
python %s check /home/wwwroot
''' % (sys.argv [0],sys.argv[0])
sys.exit()
if len(sys.argv) != 3:
使用法()
ファイル = 'file.key'
モデル = sys.argv[1]
パス = sys.argv[2]
if os.path.exists(path) == False:
print "