close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Closed 15 years ago

Last modified 14 years ago

#345 closed Aufgabe (erledigt)

Quotaanzeige implementieren

Reported by: Rüdiger Kupper Owned by: Rüdiger Kupper
Priority: schnell erledigen Milestone: Schuljahr 2011/12
Component: Server: LML-Server (paedml) Severity: beeinträchtigt keinen Unterricht
Keywords: Cc: bau

Description

Die Nutzer sollen im Kepler-Login abrufen können:

  1. ihre aktuelle Quita
  2. eine Liste der Dateien, die ihrer Quota zugerechnet werden.

Change History (11)

comment:1 by Rüdiger Kupper, 15 years ago

Es gibt jetzt einen ersten, einfachen Cronjob, der eine Per-User-Liste aller Dateien unterhalb /home/ erstellt. Der Job läuft jeden Tag und legt die aktuelle Dateiliste in die Datei

paedml:/root/userfiles/$iud
  1. Um den User ihre Dateiliste anzuzeigen, musst Du also nur diese Datei anzeigen. Beachte: Die Datei ist nicht momentan aktuell, sonder spiegelt den Stand am Morgen des jeweiligen Tages wider.
  2. Die aktuelle Quota des Users erhältst Du als Ausgabe von quota -du $uid

comment:2 by bau, 15 years ago

OK, das mit der Datei wäre denke ich kein größeres Problem. Schön fände ich trotzdem eine direkte Lösung, bei der die Daten ganz aktuell sind. Ich würde solche ein Script dann von PHP aus mit dem username aufrufen und die Rückgabe darstellen. Das Ding soll, wie du geschrieben hast:

  1. ihre aktuelle Quita
  2. eine Liste der Dateien, die ihrer Quota zugerechnet werden.
  3. die Möglichkeit bieten, eine Datei oder einen Ordner (?) per Knopfdruck direkt zu löschen

Ich rufe das Script von dir per sudo als user www-data auf. Wie schaffen wir einen Mindest-Sicherheitsstandard? (Immerhin kann man damit Dateien eines Users anzeigen und löschen)

in reply to:  2 comment:3 by Rüdiger Kupper, 15 years ago

Replying to bau:

Schön fände ich trotzdem eine direkte Lösung, bei der die Daten ganz aktuell sind.

  1. ihre aktuelle Quota

Das geht problemlos online.

  1. eine Liste der Dateien, die ihrer Quota zugerechnet werden.

Das dauert eben. Dafür muss man ein find auf dem ganzen Filesystem unterhalb von /home laufen lassen. Das dauert mehrere Minuten. Daher bin ich darauf ausgewichen, die Liste offline zu erstellen.

Aber die Frage ist, ob wie diese Liste so überhaupt wollen. Das ist nämlich ziemlich unübersichtlich. ich glaube, die Schüler können damit gar nicht so viel anfangen.

Alternative: Wir erzeugen nur eine Zusammenfassung mit du, wieviel Speicher der Nutzer insgesamt belegt,

  • in jedem Verzeichnis unmittelbar unterhalb von ~/$uid
  • in jedem Verzeichnis bis zwei Stufen unterhalb von /home/share.

Das sollte zur Orientierung reichen, um die Dateien zu finden.

Ich probier mal aus, wie lange so ein du dafür braucht.

  1. die Möglichkeit bieten, eine Datei oder einen Ordner (?) per Knopfdruck direkt zu löschen

Puh, das ist schon ein bißchen schwieriger. Aber warum willst Du das den Schülern nicht selbst überlassen? Wenn wir ihm sagen, wo die großen Dateien liegen, dann ist es wohl nicht zu viel verlangt, dass er sich mal einloggt und löscht, oder?

Ich rufe das Script von dir per sudo als user www-data auf. Wie schaffen wir einen Mindest-Sicherheitsstandard? (Immerhin kann man damit Dateien eines Users anzeigen und löschen)

Auch ein Grund, nur die Zusammenfassung anzuzeigen und das Löschen wegzulassen...

comment:4 by Rüdiger Kupper, 15 years ago

Jens wünscht sich die Ausgabe

  • jeder einzelnen Datei
  • im Format "<Größe><Trennzeichen><Filename>"
  • nach /var/www/interaktiv/kepler_login/userfileinfo

comment:5 by Rüdiger Kupper, 15 years ago

Priority: normal → hoch
Severity: → unkritisch

comment:6 by Rüdiger Kupper, 15 years ago

Status: new → accepted

comment:7 by Rüdiger Kupper, 15 years ago

Milestone: → Schuljahr 2011/12

in reply to:  4 comment:9 by Rüdiger Kupper, 15 years ago

Resolution: → erledigt
Status: accepted → closed

Replying to kup:

Jens wünscht sich die Ausgabe

  • jeder einzelnen Datei
  • im Format "<Größe><Trennzeichen><Filename>"
  • nach /var/www/interaktiv/kepler_login/userfileinfo

Die Files findest Du nun in /var/www/interaktiv/kepler_login/userfileinfo/<uid>. Sie werden jede Nacht per Cron neu erzeugt. Format:

  • eine Zeile Überschrift
  • eine Leerzeile
  • alle folgenden Zeilen: "<Dateigröße in Byte>TAB<Filename>"

Die Überschrift kann ich noch entfernen, wenn die stört. Die Dateigröße ist die echte Größe, nicht die auf der Platte belegte Größe. (Lässt sich auch ändern, wenn gewünscht.) Es werden Dateien und Verzeichnisse aufgeführt.

comment:11 by Rüdiger Kupper, 14 years ago

Ich habe einen Alternativvorschlag für die Anzeige des Speicherplatzes in den Homverzeichnissen: Einen Web-Basierten "Disk Usage Analyzer". Der sieht so ähnlich aus wie der, den Ubuntu mitbringt und läuft auf einem Webserver: ​Philesight.
Auf der Webseite gibt es auch eine Online-Demo.

Note: See TracTickets for help on using tickets.