Totalni sam pocetnik sto se linuxa tice, pa mi je potrebna mala pomoc. Treba mi skripta koja ce se izvrsavati na svakih recimo 30min i koja ce zapisivati podatke koje daje komanda uptime u neki fajl. Kako to da napravim? Znam da uptime ima neku opciju da pise rezultat u fajl, ali sam je zaboravio... a skriptu u zivotu nisam napisao, pa ako je neko voljan da pomogne :)
Skripta za uptime masine
Zaključano
Zakačeno
A svrha te skripte je?!
Cemu taj upis u fajl kada uvek mozes da pozoves komandu uptime i dobijes rezultat :)..
Najprostiji moguci primer (bash) skripte je:
alex.
Cemu taj upis u fajl kada uvek mozes da pozoves komandu uptime i dobijes rezultat :)..
Najprostiji moguci primer (bash) skripte je:
Code:
#!/bin/bash
uptime > fajl
#!/bin/bash
uptime > fajl
alex.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
OK, samo sto je potrebno da se ta skripta izvrsava na svakih 30min. Kako to da uradim? Potrebno je pisati podatke u fajl, radi prikazivanja na sajtu. Jedna html strana ce se osvezavati s vremena na vreme i prikazivati podatke iz tog fajla. S tim sto meni ne treba load i tako to, vec samo uptime, ali to je sad neka druga prica.
Citat:
patton: OK, samo sto je potrebno da se ta skripta izvrsava na svakih 30min. Kako to da uradim?
$ man cron
I sve ce ti se samo kasti :)
Potpis
Please do not feed the Trolls!
Blasphemy? How can I blaspheme? I'm a god!'
Blasphemy? How can I blaspheme? I'm a god!'
može jedno glupo pitanje?
zašto bi pisao skriptu kad je u pitanju samo jedna komanda? zašto je cron-u lakše reći /putanja/do/skripte nego uptime > /putanja/do/fajla
zašto bi pisao skriptu kad je u pitanju samo jedna komanda? zašto je cron-u lakše reći /putanja/do/skripte nego uptime > /putanja/do/fajla
Snimi ovo kao naziv.php i okaci na server. Ili include-uj u neku drugu stranicu na sajtu gde zelis da ti prikazuje uptime.
Hint: ne radi uvek, zavisi kakva je ogranicenja postavio admin servera..
Code:
<? function linuxUptime() {
$ut = strtok( exec( "cat /proc/uptime" ), "." );
$days = sprintf( "%2d", ($ut/(3600*24)) );
$hours = sprintf( "%2d", ( ($ut % (3600*24)) / 3600) );
$min = sprintf( "%2d", ($ut % (3600*24) % 3600)/60 );
$sec = sprintf( "%2d", ($ut % (3600*24) % 3600)%60 );
return array( $days, $hours, $min, $sec );
}
$ut = linuxUptime();
// If you would like to show the seconds as well just add [ , $ut[3] seconds ] after minutes.
echo "<font color=#777777><h4>Server UPTIME: $ut[0] days, $ut[1] hours, $ut[2] minutes, $ut[3] seconds</h4></font>";
?>
<? function linuxUptime() {
$ut = strtok( exec( "cat /proc/uptime" ), "." );
$days = sprintf( "%2d", ($ut/(3600*24)) );
$hours = sprintf( "%2d", ( ($ut % (3600*24)) / 3600) );
$min = sprintf( "%2d", ($ut % (3600*24) % 3600)/60 );
$sec = sprintf( "%2d", ($ut % (3600*24) % 3600)%60 );
return array( $days, $hours, $min, $sec );
}
$ut = linuxUptime();
// If you would like to show the seconds as well just add [ , $ut[3] seconds ] after minutes.
echo "<font color=#777777><h4>Server UPTIME: $ut[0] days, $ut[1] hours, $ut[2] minutes, $ut[3] seconds</h4></font>";
?>
Hint: ne radi uvek, zavisi kakva je ogranicenja postavio admin servera..
Code:
while [ 1 ]
do
uptime > /uptimelog
sleep 1800
done
while [ 1 ]
do
uptime > /uptimelog
sleep 1800
done
Ovo bi trebalo da radi upravo ono što hoćeš, bez mnogo pametovanja. Startuj je sa imeskripte &
Ja bi to uradio ovako:
Code:
watch -n 1800 'uptime > fajl'
watch -n 1800 'uptime > fajl'
Potpis
I see no changes. Wake up in the morning and I ask myself,
"Is life worth living? Should I blast myself?"
"Is life worth living? Should I blast myself?"
Generalno, najbolje resenje je pokretanje skripte na svakih 30 minuta iz crona. Evo i zasto:
i
Ova dva resenja su prinicipijelno u redu ali ukoliko se proces ubije iz bilo kog razloga, ne postoji nacin da ga automatski pokrenes. Takodje nakon restarta OS moras da ga pokrenes rucno ili da ga ubacis u startup skript. Cron mehanizam resava oba ova problema.
Perl resenje je isto OK, ali prekomplikovano i zahteva web server na masini (kao i perl). A draz Unix like operativnih sistema je upravo mogucnost pravljenja elegantnih i jednostavnih.
Pozdrav
Citat:
Code:
watch -n 1800 'uptime > fajl'
watch -n 1800 'uptime > fajl'
i
Citat:
Code:
while [ 1 ]
do
uptime > /uptimelog
sleep 1800
done
while [ 1 ]
do
uptime > /uptimelog
sleep 1800
done
Ova dva resenja su prinicipijelno u redu ali ukoliko se proces ubije iz bilo kog razloga, ne postoji nacin da ga automatski pokrenes. Takodje nakon restarta OS moras da ga pokrenes rucno ili da ga ubacis u startup skript. Cron mehanizam resava oba ova problema.
Perl resenje je isto OK, ali prekomplikovano i zahteva web server na masini (kao i perl). A draz Unix like operativnih sistema je upravo mogucnost pravljenja elegantnih i jednostavnih.
Pozdrav