#!/usr/bin/python2 import sys, re, string sys.path.append('.') import Ssh ## Execute these commands once as root. """ service httpd start adduser ssh_test chown ssh_test /var/log/httpd/access_log echo "Type in 'dump_password' for the password." passwd ssh_test service httpd stop """ #--------------------------------- Host = "127.0.0.1" User = "ssh_test" Password = "dumb_password" Script = "Detect_Log.py" Destination_Script = "/tmp/Detect_Log.py" File_Destination = "/tmp/Web_Log.log" #--------------------------------- Download1 = Ssh.Ssh() ### See if the script exists. (Error, Message) = Download1.File_Test_Exist( Destination_File=Destination_Script, User=User, Password=Password, Host=Host) ## If the script doesn't exist, transfer it. if Error == -6: (Error2, Message2) = Download1.Script_Transfer( Destination_Script=Destination_Script, User=User, Password=Password, Host=Host, Source_Script=Script) ## If okay, file is transferred. ## Double check to see if it exists. if Error2 == 0: (Error3, Message3) = Download1.File_Test_Exist( Destination_File=Destination_Script, User=User, Password=Password, Host=Host) ## Error should be 0, if not abort. if Error3 == 0: Error = 0 else: print "ERROR: ", Error3, Message3 sys.exit() ## The transfer must have failed somehow. else: print "ERROR: ", Error2, Message2 sys.exit() ## Script already transferred, do nothing. elif Error == 0: Do_Nothing = 1 ## Otherwise, there is an error, abort. else: print Error, Message sys.exit() ## If everything is okay, Error should be 0 if Error == 0: ## Execute the script on the remote computer. (Error4, Output) = Download1.Script_Execute( Destination_Script=Destination_Script, User=User, Password=Password, Host=Host) ## If the error is 0, get the file name. if Error4 == 0: Re1 = re.compile('GOOD:') Re2 = re.compile(':GOOD') ## Make sure the boundaries exist. if (Re1.search(Output)) and(Re2.search(Output)): Temp1 = string.split(Output,'GOOD:') Temp2 = string.split(Temp1[1], ':GOOD') ## Now we havethe filename. File = Temp2[0] if File == '': print "ERROR: File is empty string." else: ## Download the file. FD = File_Destination (Error5, Output) = Download1.Download_File( File_Client=File, File_Destination=FD, User=User, Password=Password, Host=Host) if Error5 == 0: print "GOOD: file downloaded at " + FD else: print Error5, Output else: print Error4, Message4