Forum » Šola » Naloga - Programiranje skript v Linuxu
Naloga - Programiranje skript v Linuxu
mpucel2 ::
Ali zna mogoče kdo sprogramirati sledečo nalogo v Linuxu, skripta v BASHu? HVALA za pomoč!
Napišite program v lupini, ki izpiše, kolikokrat ter koliko časa (skupno) so bili uporabniki v nekem času prijavljeni na sistemu. Čas podamo z dvema datumoma kot argumenta ukazne vrstice.
Primer izpisa:
$ prijava 27/04 06/05
bojank 2x 0 dni 2:46
borutb 4x 0 dni 11:42
lukas 2x 0 dni 1:58
peterp 3x 1 dan 18:41
Skripta za preizkus:
#!/bin/bash
#arhiviramo trenutno datoteko
sudo mv /var/log/wtmp /var/log/wtmp.old
#skopiramo testno datoteko
sudo cp ./wtmp /var/log/wtmp
#nastavimo ustrezne pravice in lastnistvo
sudo chmod 664 /var/log/wtmp
sudo chown root:utmp /var/log/wtmp
#pozenemo skripto ter zmerimo cas izvajanja (time), rezultat shranimo v resitev
/usr/bin/time -f %E -o cas ./prijava 27/04 06/05 > resitev
#preverimo ce je resitev prava, ce je izpisemo cas izvajanja
cmp -s prava_resitev resitev && cat cas || echo "0 tock"
#povrnemo prejsnje stanje
sudo mv /var/log/wtmp.old /var/log/wtmp
sudo chmod 664 /var/log/wtmp
sudo chown root:utmp /var/log/wtmp
exit
Za preizkus si skopirajte skripto, datoteko wtmp in datoteko prava_resitev. Komur ne bo program vračal pravilnega izpisa za objavljeno datoteko bo avtomatsko dobil 0 točk. Pazite na FORMAT samega izpisa (presledki, ura, itd) ter samih argumentov (pravilen zapis datuma z vodilno ničlo)! Skripte shranite v UTF8 kodnem naboru ter jih preizkusite na Ubuntu distribuciji.
Vsebina datoteke prava_resitev:
bojank 2x 0 dni 2:46
borutb 4x 0 dni 11:42
lukas 2x 0 dni 1:58
peterp 3x 1 dan 18:41
Če sem pa prav razumel nalogo oz. program, treba pa napisati program v datoteko wtmp.
Napišite program v lupini, ki izpiše, kolikokrat ter koliko časa (skupno) so bili uporabniki v nekem času prijavljeni na sistemu. Čas podamo z dvema datumoma kot argumenta ukazne vrstice.
Primer izpisa:
$ prijava 27/04 06/05
bojank 2x 0 dni 2:46
borutb 4x 0 dni 11:42
lukas 2x 0 dni 1:58
peterp 3x 1 dan 18:41
Skripta za preizkus:
#!/bin/bash
#arhiviramo trenutno datoteko
sudo mv /var/log/wtmp /var/log/wtmp.old
#skopiramo testno datoteko
sudo cp ./wtmp /var/log/wtmp
#nastavimo ustrezne pravice in lastnistvo
sudo chmod 664 /var/log/wtmp
sudo chown root:utmp /var/log/wtmp
#pozenemo skripto ter zmerimo cas izvajanja (time), rezultat shranimo v resitev
/usr/bin/time -f %E -o cas ./prijava 27/04 06/05 > resitev
#preverimo ce je resitev prava, ce je izpisemo cas izvajanja
cmp -s prava_resitev resitev && cat cas || echo "0 tock"
#povrnemo prejsnje stanje
sudo mv /var/log/wtmp.old /var/log/wtmp
sudo chmod 664 /var/log/wtmp
sudo chown root:utmp /var/log/wtmp
exit
Za preizkus si skopirajte skripto, datoteko wtmp in datoteko prava_resitev. Komur ne bo program vračal pravilnega izpisa za objavljeno datoteko bo avtomatsko dobil 0 točk. Pazite na FORMAT samega izpisa (presledki, ura, itd) ter samih argumentov (pravilen zapis datuma z vodilno ničlo)! Skripte shranite v UTF8 kodnem naboru ter jih preizkusite na Ubuntu distribuciji.
Vsebina datoteke prava_resitev:
bojank 2x 0 dni 2:46
borutb 4x 0 dni 11:42
lukas 2x 0 dni 1:58
peterp 3x 1 dan 18:41
Če sem pa prav razumel nalogo oz. program, treba pa napisati program v datoteko wtmp.
- zaklenil: Gandalfar ()
mpucel2 ::
A je mogoče vsaj kdo, ki bi lahko namignil kako naj se polatim te zadeve, dobil pa sem še tale "ukaz", ki bi mogoče znal kaj pomagati:
last -R |grep -v "reboot"|grep -v "gone" |grep -v "logout" | grep "tty" | tr -s " " | cut -d" " -f1,4,5,9
HVALA!
last -R |grep -v "reboot"|grep -v "gone" |grep -v "logout" | grep "tty" | tr -s " " | cut -d" " -f1,4,5,9
HVALA!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | problem pri sprembi root gesla v MySQL v UbuntuOddelek: Pomoč in nasveti | 1285 (865) | killa bee |
» | AppArmor in Skype na UbuntuOddelek: Programska oprema | 1248 (1124) | poweroff |
» | Ubuntu 13.04 Raring RingtailOddelek: Operacijski sistemi | 5675 (3617) | b3D_950 |
» | Crontab in skripta v 8.04.2; kako?Oddelek: Operacijski sistemi | 1317 (1112) | BigWhale |
» | linux vdor -- nekdo skenira druge prek SSH ?Oddelek: Operacijski sistemi | 1640 (1299) | terryww |