Moin
Jens Hektor <
hek...@rz.rwth-aachen.de>:
> On 23.03.2012 14:02, Bernd Kohler wrote:
> > ich bin gerade auf der Suche nach einer Möglichkeit auf einem NFS-Server
> > die von den Client-PCs geöffneten Datein anzeigen zu lassen
>
> Hm, sieht schlecht aus:
>
Thx fuer die Info.
Dann werde ich mal überlegen auf Plan B umzuschwenken.
Da auch $HOME via NFS gemountet wird, werde ich fuer jeden Benutzer bei
Anmeldung eine persönliche NFS lock-Datei "~/.nfs_lock_file" erstellen
lassen und diese beim Beenden wieder loeschen.
Leider kann ich hier folgendes nicht testen/beruecksichtigen
- gibt es noch mind. eine passende login-shell
sudo ps -ef | grep -c "\-$(basename $SHELL)
- wenn $USER bspw. vor einer weiteren Sitzung die Logi-Shell wechselt - >
fuer jede moegliche login shell muss das Aufräumen der perönlichen
NFS lock_Dateien gesichert werden
- wenn Unterverzeichnisse aus dem NFS-share in ein eigens deklariertes
Unterverzeichnis von bspw. $HOME gemounted wird
- mit meinem kurzen Test-Skript anbei werden keine mehrfach Anmeldung
via ssh etc. berücksichtigt (man müsste in diesem Fall für jedes
Login $PID in die NFS lock-Datei schreiben und anschließend die Anzahl
der Einträge auswerten und abgleichen, ob noch eine Login-Shell für $PID
existiert)
Hier nun mein quick and dirty Skript, vielleicht hilft's ja jemandem,
der vor dem gleichen Problem steht ;)
#!/bin/bash
declare -r NFS_HOME_SHARE="/PATH_TO_HOME"
declare -i COUNT=0
for i in `ls -1 $NFS_HOME_SHARE`; do
if [ -f $NFS_HOME_SHARE/${i}/.personal_nfs_lock ], then
echo "Just found a personal NFS lock file for user $i"
let COUNT+=1
fi
done
if [ $COUNT -eq 0 ]; then
echo "You can restart the server"
else
echo "Please contact users mentioned above to close session"
fi
Bernd "Marvin" Kohler