Iskam da kazha neshto, koeto osmislih predi da napisha i e po temata...
Sybitieto, chiato davnost traibva da se opisva v HTML documenta e s grubo presmetnata otnositelna greshka +/- 1 den. Viarno, che se izpisvat chasovete i minutite, no te sa malka velichina na fona na goliamata (osven ako niakoi ne operira s MS server i go rebootva za shtialo i neshtilo) i mozhe da se izpisvat samo broia dni. Ima dva varianta, po koito mozhe da se trygne... Ako web-servera osbluizhva kym 1000-da zaiavki na den e napylno dopustimo da se vika instrumenta uptime i da se izvezhda directno ot nego statisticata za vremeto sled poslednoto restartirane na sistemata. Ako web-servera osbluzhva po 1000 zaiavki na minuta mozhe bi tova ne e nai-dobria podhod. V tozi sluchai mozhe da se izpulniava na vsiaka edna minuta script, izvikvash uptime i zapisvasht rezultatite v promenliva v pametta.. naprimer CURRENT_UPTIME. Tazi promenliva da se podava posle na generirashtia HTML documenta script i da se izpisva v izhodnia kod, koito se podava kato otgovor na zaiavkata.... Taka se pesti mashinno vreme, koeto za natovarenite web-serveri e kritichen factor za proizvoditelnostta. Vse pak e po-dobre neshtoto da se startira po vednyzh v minuta, otkolkoto da se startira po 1000 pyti v minuta... Kolkoto i proizvoditelni da se syvremennite serveri vinagi stoi factora svobodni resursi i razpredeliane na natovarvaneto. Fakticheski crond mozhe da izpylniava zadacha nai-malko na 1 minuta, a tova syvpada s minimalnata otnositelna greshka na sybitieto "vreme sled poslednoto restartirane na servera" (+/- 1 minuta). Tova e variant pri koito HTML documenta se generira pri vsiaka zaiavka na potrebitel... Ako traibva syvsem da se optimizira natovarvaneto e nuzhno da se reshi dali HTML documenta shte se generira pri vsiaka zaiavka ili vremeto mezhdu dve negovi generacii shte syvpadne s minimalnata otnositelna greshka na otchitanoto sybitie.... Po-udobno e na crond da se podade zadacha pri koiato na vsiaka edna minuta toi da generira HTML document, koito da ima vreme na zhivot 1 minuta i sled iztichane na vremeto na zhivot da se generira nov document. Po tozi nachin v prodylzhenie na 1 minuta natovarvaneto na web-servera shte e malko, zashtoto shte se izpylniavat statichni zaiavki, t.e. podavane na fail kato otgovor na zaiavkata bez dopylnitelno izpylnenie na generacionni procesi ot strana na scriptove i instrumenti. Razbira se, tova e edin elementaren podhod za po-nachinaeshti administratori. Po-pregmatichnia podhod pochiva na izpolzvaneto na Perl constructori na HTML documenti. Blagodaria na vsichki za vnimanieto;)) Vesselin On Tuesday 02 July 2002 18:18, you wrote: > ajde stiga s toq thread, > prikachil sam nqkakav kod deto sam se upraznqval > za obsd e taka che naglasi si komandite > zapishi go primerno kato stats.php > > i cheti, cheti, cheti > > <?php > > $posix_uname = posix_uname (); > $sysname = $posix_uname['sysname']; > $nodename = $posix_uname['nodename']; > $release = $posix_uname['release']; > $version = $posix_uname['version']; > $machine = $posix_uname['machine']; > $domainname = $posix_uname['domainname']; > > $posix_times = posix_times (); > $uptime = $posix_times ['ticks']; > > echo "<p><b> $sysname $release $version $machine $nodename $domainname > </b><hr> \n"; > > > if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != ""){ > $IP = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; > $proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"]; > $host = > @gethostbyaddr($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]); > }else{ > $IP = $HTTP_SERVER_VARS["REMOTE_ADDR"]; > $host = @gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]); > } > > echo "<p>$HTTP_USER_AGENT Connected from: $host \n"; > > $today = getdate(); > $month = $today['month']; $mday = $today['mday']; $year = > $today['year']; > $hours = $today['hours']; $minutes = $today['minutes']; $seconds = > $today['seconds']; > $weekday = $today['weekday']; > > echo "<p> $mday $month $year $weekday $hours:$minutes:$seconds \n"; > > > //uptime > exec("uptime", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > > //who -uH /var/log/wtmp > exec("who -uH /var/log/wtmp", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > > // df > exec("df -h", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > // swapctl -lk > exec("swapctl -lk", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > > // vmstat > exec("vmstat", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > > print "$val<br>"; > endwhile; > print "</pre><hr>"; > exec("vmstat -i", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > > > > //netstat -s -ib -r -q -d > //netstat -f encap -r -q -d > exec("netstat -s -ib -r -q -d ", $output); > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > exec("netstat -f encap -r -q -d ", $output); > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > > // ps -axu -ww -S -m > exec("ps -axu -ww -S ", $output); > // format each line of output > print "<pre>"; > while (list(,$val) = each($output)) : > print "$val<br>"; > endwhile; > print "</pre><hr>"; > > > > $STAT_PAGE = "<html><body>$Output</body></html>"; > > print $STAT_PAGE; > > ?> > =========================================================================== >= A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). > http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara > Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html > =========================================================================== >= ============================================================================ A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html ============================================================================