Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:owncloud:schuljahreswechsel]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
anwenderwiki:owncloud:schuljahreswechsel [2018/03/11 15:39]
Tobias
anwenderwiki:owncloud:schuljahreswechsel [2018/10/07 05:02] (aktuell)
Tobias
Zeile 1: Zeile 1:
 {{tag> }} {{tag> }}
  
-====== Schuljahreswechsel:​ Alte Benutzer löschen ======+====== Schuljahreswechsel ​nextcloud: Alte Benutzer löschen ======
  
 Wer seine Owncloud/​Nextcloud an das LDAP angeschlossen hat, der verliert z.B. nach einem Schuljahreswechsel Schüler und auch Lehrer. Wer diese "​Karteileichen"​ vermeiden will, der kann folgende Prozedur durchlaufen:​ Wer seine Owncloud/​Nextcloud an das LDAP angeschlossen hat, der verliert z.B. nach einem Schuljahreswechsel Schüler und auch Lehrer. Wer diese "​Karteileichen"​ vermeiden will, der kann folgende Prozedur durchlaufen:​
Zeile 74: Zeile 74:
 Achtung, dieser Befehl zeigt nur an was getan wird. Für das richtige Löschen, entferne man das "​echo"​ aus der Zeile.</​note>​ Achtung, dieser Befehl zeigt nur an was getan wird. Für das richtige Löschen, entferne man das "​echo"​ aus der Zeile.</​note>​
  
 +----
 +
 +
 +==== Komplettes Skript vom Server aus ====
 +
 +<note important>​
 +Achtung, folgendes Skript testet, ob der der server auch "​server"​ heißt. ​
 +Ebenso heißt der Server auf dem nextcloud läuft "​cleese"​.
 +Ebenso müssen die Lage der installation und der Daten angepasst werden.
 +Das Skript löscht zudem (nach Entfernen von echo im Befehl echo rm -rf) auch noch User, die nicht mehr in der Datenbank sind, aber noch auf der Platte ein Verzeichnis haben (passierte bei mir vermutlich während Nextcloud 12-13).
 +</​note>​
 +
 +
 +<code bash update_clouddata.sh>​
 +#!/bin/bash
 +
 +lmnservername="​server"​
 +nextcloudservername="​cleese"​
 +occ="/​opt/​nextcloud/​occ"​
 +data="/​srv/​nextcloud/​data"​
 +
 +if [ `hostname` = "​$lmnservername"​ ]; then
 +    echo "​copying $0 to $nextcloudservername"​
 +    scp $0 ${nextcloudservername}:​
 +    ssh -t ${nextcloudservername} $0
 +    exit 0
 +fi
 +
 +hardlist=`mktemp`
 +
 +pv --version > /dev/null
 +if [ $? -ne 0 ] ; then
 +    apt install pv
 +fi
 +
 +echo -n "​Erstelle Liste: "
 +ls $data | grep -v "​\."​ | grep -vE "​(appdata|files_external)"​ > /​tmp/​userlist
 +echo `cat /​tmp/​userlist | wc -l` "​user"​
 +
 +echo "​Checke,​ ob User noch in LDAP sind:"
 +for i in `cat /​tmp/​userlist` ; do 
 +    if  sudo -u www-data php $occ ldap:​check-user "​$i"​ | grep "​not"​ 2>&1 >/​dev/​null ; then
 +        # not a local user?
 +        if ! sudo -u www-data php $occ user:info "​$i"​ 2>&1 >/​dev/​null ; then
 +            echo "​$i"​ >> $hardlist
 +        fi
 +    else
 +        echo -n "​."​
 +    fi
 +done | pv -s `cat /​tmp/​userlist | wc -l` > /dev/null
 +
 +echo -n "Users nicht mehr im LDAP:"
 +sudo -u www-data php /​opt/​nextcloud/​occ ldap:​show-remnants ​ | awk '​{print $2}' | sed "​2d;/​^\s*$/​d"​ > /​tmp/​zuloeschendeuser
 +if [ -s /​tmp/​zuloeschendeuser ]; then
 +    cat /​tmp/​zuloeschendeuser | paste -s -d " "
 +    echo "​Sollen diese User gelöscht werden? yes/​NO"​
 +    read
 +    if [ "​x$REPLY"​ = "​xyes"​ ] ; then
 +        for i in `cat /​tmp/​zuloeschendeuser`;​ do 
 +            sudo -u www-data php /​opt/​nextcloud/​occ user:delete "​$i"; ​
 +        done 
 +    fi
 +else
 +    echo "​keine"​
 +fi
 +
 +echo -n "Users in $hardlist, deren Home gelöscht werden könnte $data:"​
 +if [ -s $hardlist ]; then
 +    cat $hardlist | paste -s -d " "
 +    echo "​Sollen diese User per rm -rf $data/<​user>​ gelöscht werden? yes/​NO"​
 +    read
 +    if [ "​x$REPLY"​ = "​xyes"​ ] ; then
 +        for i in `cat $hardlist`; do
 +            echo rm -rf $data/$i
 +        done
 +    fi
 +else
 +    echo "​keine"​
 +fi
 +</​code>​
 [[anwenderwiki:owncloud:schuljahreswechsel]] anwenderwiki/owncloud/schuljahreswechsel.txt · Zuletzt geändert: 2018/10/07 05:02 von Tobias