Hej,
Jeg er virkelig kæmper for at afslutte med et script jeg har fået tildelt.
Scriptet's formål er at logge på hver server er defineret i et array kan afgøre, hvilken server version, og en liste over biblioteket
under i installations-biblioteket. I mit tilfælde, denne installation bibliotek er næsten altid "/ opt / IBMHTTPServer" (undertiden "/ opt / IBMHttpServer")
Her er et uddrag fra koden.
Code:
for host in ${Hosts}
do
AssumedDir=$(batch_ssh ${host} "ls -1 /opt")
if [[ ${AssumedDir} = *IBMHTTPServer* ]]; then
ServerInstallDir='/opt/IBMHTTPServer'
else
ServerInstallDir='/opt/IBMHttpServer'
fi
#DirectoryListing=$(batch_ssh ${host} "find ${ServerInstallDir} -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'")
#DirectoryListing=$(batch_ssh ${host} "ls -1 $ServerInstallDir")
DirectoryListing=$(batch_ssh ${host} "ls -1 $ServerInstallDir | while read d; do echo $d ; done")
ServerVersion=$(batch_ssh ${host} "${ServerInstallDir}/bin/httpd -V | awk 'NR < 2'")
echo '<br /><h3>'${host}'</h3>' >> $HTMLFILE
echo '<b>Server Version</b>: ' ${ServerVersion} >> $HTMLFILE
echo '<br /><b>Directory Structure</b><br /> ' $DirectoryListing >> $HTMLFILE
done
#- Email results
html_mail -t "some.body@company.co.uk" -r "noreply@servername" -s "Apache Security Audit" -a "$HTMLFILE"
(That
sed befale ovenfor kommer fra en UNIX-fora ofte, jeg har glemt navnet! Tak selv - de to kommenterede DirectoryListing vars er bare eksperimenter)
Så efter dette script har gjort det er ting, den påberåber sig en
perl script (html_mail) at sende rapporten. (Jeg har ikke gøre dette, og jeg ved, det virker godt). Posten kommer igennem som planlagt, dog biblioteksliste er meget grimt, det ser sådan ud:
Code:
_uninst admindocs bin cgi-bin conf example_module htdocs icons include keys.q.hpicheck.com keys.q.hpicheck.com.20061002_141729 keys.q.racexaminations.co.uk keys.q.racvehiclehealthcheck.co.uk keys.q.vehiclestatusreport.co.uk libexec license logs man readme ssl tivready version.signature
Jeg vil gerne ovenstående filer / mappe 's til at blive optaget som de ville blive efter udstedelse `ls -1« fra skallen.
Tak fordi du læste mit indlæg, jeg håber nogen kan hjælpe mig. Hvis du har kommentarer til kvaliteten af koden ovenfor venligst luft dem, da det er min første (noget) nyttige skrift, og jeg er ivrig for alle de tilbagemeldinger jeg kan få. (Full version af scriptet er
Bash pastebin - samarbejdsprojekter debugging tool)
Tak.