![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna! |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Sortering kataloglista | Sepia | UNIX for Dummies Frågor & Svar | 1 | 07-11-2007 08:44 |
| Hur kan jag få kataloglistor? | haisubbu | UNIX for Dummies Frågor & Svar | 2 | 08-25-2006 10:03 |
| All kataloglista ... | B14speedfreak | UNIX for Dummies Frågor & Svar | 5 | 05-11-2006 09:06 |
| Tidsstämpeln i kataloglistor | vijashok | UNIX for Dummies Frågor & Svar | 2 | 10-06-2005 11:03 |
| Recursive kataloglistor utan notering filer | psingh | UNIX for Dummies Frågor & Svar | 4 | 05-10-2002 11:52 |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
||||
|
vackert formaterad Directory Listing från partiet SSH-session
Hej, Jag är verkligen kämpar för att avsluta ett manus jag har tilldelats. Skriptet syfte är att logga in på varje server som definieras i en matris, bestämma Web Server-versionen, och lista katalogen under installationskatalog. I mitt fall är denna installationskatalog nästan alltid "/ opt / IBMHTTPServer" (ibland "/ opt / IBMHttpServer") Här är ett utdrag från koden. Kod:
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 kommandot ovan kommer från en UNIX-forum ofta, jag har glömt namnet! Tack dock - de två kommenterade DirectoryListing VARS är bara experimenterande) Så efter den här skriften har gjort det grej, åberopar en perl script (html_mail) att skicka rapporten. (Jag inte göra detta, och jag vet att det fungerar bra). Posten kommer igenom som planerat, dock kataloglistning väldigt ful, ser det ut så här: Kod:
_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 Jag skulle vilja upp filerna / katalogen är att noteras som de skulle ha utfärdat `ls -1" från skalet. Tack för att du läser min post, jag hoppas någon kan hjälpa mig. Om du har några synpunkter på kvaliteten i koden ovan kan du luft dem, eftersom det är min första (ganska) bra manus, och jag är ivrig för all feedback jag kan få. (Full version av skriptet Bash pastebin - collaborative debugging tool) Tack. |