PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [shell]Inaktive User finden & löschen?



Stormsam
12-02-2003, 11:17
HI @all,

habe hier einen kleinen Webserver (SuSE Linux 7.3) und dort habe ich ein paar User angelegt.

Nun möchte ich alle inaktiven (d.h. die z.B. seit einem Monat gar keinen traffic mehr hatten) irgendwie finden und löschen (Usernamen + Ordner im /htdocs).

Kann mir da jemand helfen soetwas in shell zu schreiben?

MfG
Stormsam

Stormsam
14-02-2003, 13:06
keiner eine idee wie man das machen könnte?

Der Webalizer zeigt ja alle Daten an, kann man nicht einen script schreiben, der die daten vom webalizer ausliest und dann die User die keinen Traffic haben löscht?

MfG
Stormsam

lobo
14-02-2003, 20:02
Hi,

poste mal eine oder zwei Zeilen von so einem Webalizer log. Da lässt sich sicher was machen.

Gruss

lobo

Stormsam
15-02-2003, 12:15
HI,

naja das ganze sieht dort so aus (ist eine html datei und steht in einer <table>!):

# Hits KBytes URL
11 1788 0.44% 35595 1.25% /admin/

// --- änderung ---
er zeigt das nicht richtig an ;) also damit ihr da den überblick behalten könnt:
# 11
Hits: 1788 (0,44%)
kBytes: 35595 (1,25%)
URL: /admin/

also unter # steht die platzierung und unter hits wieoft es aufgerufen wurde und unter kbytes wieviel traffic verbraucht wurde.

bei der url könnte man den user auslesen, allerdings steht da auch manchmal /user/site1/index.php . Da müßte man sich was einfallen lassen.

Nun müßte man irgendwie was schreiben, das wenn z.b. wenn bei hits weniger als 10 ist, der user gelöscht wird. Oder wenn bei kbyte fast nichts ist wird er gelöscht.
0 steht bei niemanden, deswegen würde es nicht bringen wenn wir das ganze so machen, das er die user nur löscht wenn dort eine 0 steht.

habt ihr da eine Idee, wie man das umsetzten könnte?

MfG
Stormsam

Stormsam
16-02-2003, 14:04
könnte es so gehen ?!?

micha
16-02-2003, 20:22
Hi,

wenn die Ausgabe so wie oben in einer Datei steht, sollte es damit gehn:


Auszulesende Datei (user.txt):
11 2 (0.44%) 100 (1.25%) /user1
11 1788 (0.44%) 35595 (1.25%) /micha/site1/index.php
11 6 (0.44%) 300 (1.25%) /stormsam/
11 1788 (0.44%) 35595 (1.25%) /holla/site1/index.php




#/bin/sh

File="./user.txt"
Delete="/usr/sbin/userdel"
MinHits="10"
MinKB="100"

#
# Take the first param as config file,
# if it is not empty, a file and readable
#
if [ -n "$1" -a -r "$1" ]; then
File="$1"
fi

while read rank hits hpc kb kpc user
do
if [ $hits -lt $MinHits -o $kb -lt $MinKB ]; then
user=$(echo $user | cut -d '/' -f 2)
echo "Removing user $user"
#$Delete -r $user &>/dev/null
fi
done < $File

exit 0


Ansonsten kann man vorher die Html-Datei parsen, und in eine temporäre Datei schreiben, die dann dem Script als Paramter übergeben werden kann.

Gruß micha