nohup top -i -b >/home/user/Toplog&

in konsole starten und für das stoppen die PID merken! (“kill PID” stoppt das loggen)



Posted in bash onlinezeit aufzeichnen

Die beiden folgenden Scripte (.local) müssen, jeweils je nach System in die für das DIALING verantwortlichen Scripte, eingebunden werden. Auf meinem Ipcop mit ISDN-Einwahl sind hierfür z.B. in “/etc/ppp/ip-up” die Zeile: “system(‘/etc/ppp/ip-up.local’);” und in der “/etc/ppp/ip-down” die Zeile: “system(‘/etc/ppp/ip-down.local’);” anzufügen. ip-up.local und ip-down.local müssen im selben Verzeichnis liegen!

$ cat /etc/ppp/ip-up.local

#!/bin/sh
#
#= = = = = = = = = = = = = = = = = = = Online Startzeit aufzeichnen

echo -n “$(date +”%d.%m.%Y %H:%M:%S”) – ” >> /etc/ppp/online-time

$ cat /etc/ppp/ip-down.local

#!/bin/sh
#
#= = = = = = = = = = = = = = = = = = = Online Endzeit aufzeichnen

echo “$(date +”%d.%m.%Y %H:%M:%S”)” >> /etc/ppp/online-time

Hier nun das Auswertungsscript der Onlinezeit. Man beachte, dass die Auswertung Sekundengenau ist! Hat man einen Tarif der nach Minuten abgerechnet wird, hat mir die Erfahrung gezeigt, dass man die Anzahl der Verbindungen halbiert und auf die ausgegebenen Minuten hinzu addiert.

$ cat /bin/online

#!/bin/sh

case $* in
-d) PARAM=`/bin/date +%d.%m.%Y`;;
-m) PARAM=`/bin/date +%m.%Y`;;
-y) PARAM=`/bin/date +%Y`;;
-?|-h|–help) echo “calc [-d|-m|-y|]”
echo “Auswertung der Onlinezeit”
echo
exit;;
*) PARAM=”$*”;;
esac

grep “$PARAM” /etc/ppp/online-time | awk ‘BEGIN { total=0 }
NF == 5 {
n=split($1,d,”.”)
date1=(d[1]+d[2]*30+d[3]*365)
n=split($2,t,”:”)
time1=(t[1]*3600+t[2]*60+t[3])

n=split($4,d,”.”)
date2=(d[1]+d[2]*30+d[3]*365)
n=split($5,t,”:”)
time2=(t[1]*3600+t[2]*60+t[3])

time=(date2-date1)*3600*24+time2-time1
total=total+time
}
END
{
hours = total / 3600
minit = total / 60
print “n”
print “= = = = = = = = = = = = = = = = = = = ONLINE”
print “Verbindungen: “NR”"
print “Stunden: “hours”"
print “Minuten: “minit”"
print “= = = = = = = = = = = = = = = = = = = ”
}’



#!/bin/sh
# Script zum rekursiven setzen, unterschiedlicher Berechtigungen von Verzeichnissen
# und deren enthaltenen Dateien + deren Besitzer und Gruppe
#
# 2004:01:16 v0.2
# -Rootprüfung
# -Überprüfung der Eingaben durch Benutzer vor Verarbeitung
# -Rechte werden mit der xargs Methode gesetzt
#
# 2004:01:12 v0.1
#
#= = = = = = = = = = = = = = = = = = = Ueberpruefung, ob root angemeldet ist
if [ "`id --user`" != "0" ] ; then
echo -e “nNur der Superuser darf Rechte setzen!n”
exit 1
fi
#= = = = = = = = = = = = = = = = = = = Eingabe des Verzeichnis
echo “Gib den PFAD an [z.B. /foo/bar]:”
read PFAD
if [ "$PFAD" = "" ]; then
echo -e “nkein Pfad stoppe Script!n”
exit 2
fi
#= = = = = = = = = = = = = = = = = = = Eingabe des Bezitzers
echo “Gib den USER an [z.B. nobody]:”
read USER
if [ "$USER" = "" ]; then
echo -e “nkein User stoppe Script!n”
exit 3
fi
#= = = = = = = = = = = = = = = = = = = Eingabe der Gruppe
echo “Gib die GROUP an [z.B. users]:”
read GROUP
if [ "$GROUP" = "" ]; then
echo -e “nkeine Gruppe stoppe Script!n”
exit 4
fi
#= = = = = = = = = = = = = = = = = = = Eingabe der Verzeichnisberechtigung
echo “Gib die DIR -berechtigung an [z.B. 755]:”
read DIR
if [ "$DIR" = "" ]; then
echo -e “nkeine DIR-Berechtigung stoppe Script!n”
exit 5
fi
#= = = = = = = = = = = = = = = = = = = Eingabe der Dateiberechtigungen
echo “Gib die FILE -berechtigung an [z.B. 644]:”
read FILE
if [ "$FILE" = "" ]; then
echo -e “nkeine FILE-Berechtigung stoppe Script!n”
exit 6
fi
#= = = = = = = = = = = = = = = = = = = Checken der Benutzereingabe
echo -e “nSind die folgenden Angaben richtig?n”
date
echo -e “User:$USER”
echo -e “Group:$GROUP”
echo -e “Pfad:$PFAD”
echo -e “Verzeichnis=$DIR”
echo -e “Datei=$FILE”
#= = = = = = = = = = = = = = = = = = = Abfrage: soll Benutzereingabe verarbeitet werden?
echo -e “nAntwort: y/nn”
read CHECK
#= = = = = = = = = = = = = = = = = = = y=ja alles andere führt zum Abbruch
if [ "$CHECK" = "y" ]; then
echo -e “nFuehre Aufgaben aus…n”
cd “$PFAD”
chown -R $USER:$GROUP “$PFAD”
find -type d | xargs chmod $DIR
find -type f | xargs chmod $FILE
echo -e “nErfolgreich beendet.n”
else
echo -e “nBreche ab…!n”
exit 7
fi
exit 0



« Previous Page

17 queries. 0.177