Anzeige:
Ergebnis 1 bis 6 von 6

Thema: [shell]Inaktive User finden & löschen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.12.2001
    Beiträge
    171

    Inaktive User finden & löschen?

    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
    Geändert von Stormsam (13-02-2003 um 16:00 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.12.2001
    Beiträge
    171
    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

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.08.2002
    Beiträge
    23
    Hi,

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

    Gruss

    lobo

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.12.2001
    Beiträge
    171
    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

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.12.2001
    Beiträge
    171
    könnte es so gehen ?!?

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.12.1999
    Ort
    Stuttgart
    Beiträge
    259
    Hi,

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

    Code:
    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
    Code:
    #/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
    IRC: irc.euirc.net #tux

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •