Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:einsammeln_ohne_schulkonsole]] 
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


anwenderwiki:einsammeln_ohne_schulkonsole [2015/07/11 21:47] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +{{tag> Einsammeln Schulkonsole Skripte}}
 +
 +====== Einsammeln ohne Schulkonsole ======
 +Ohne Schulkonsole ist das Einsammeln von Schülerarbeiten mühsam, weil die Verzeichnisse weit verstreut liegen.
 +Das folgende Skript behebt diesen Mangel, indem es unter ''/home/students'' die Verzeichnisse zusammenfasst.
 +
 +Das Skript erzeugt folgende Struktur unter ''/home/students'':
 +<code>
 +__einsammeln-5a
 +  schueler1
 +  schueler2
 +__einsammeln-5b
 +...
 +</code>
 +
 +<file>/usr/local/bin/link_einsammeln.sh</file>
 +
 +<code>
 +#!/bin/bash
 +# link_einsammeln.sh
 +# Verlinke die __einsammeln-Verzeichnisse unter /home/students
 +#
 +# Frank Schütte 2015
 +#
 +STUDENTS=/home/students
 +EDIR=__einsammeln
 +
 +PWD=`pwd`;
 +
 +if [ -n "$1" -a "$1" = "-h" ]; then
 +  echo "Verwendung: $0"
 +  echo "     -h  Hilfe"
 +  echo "     -v  verbose"
 +  exit 0
 +fi
 +
 +[ -n "$1" ] && VERBOSE=true
 +
 +[ -e "$STUDENTS" ] || exit 1
 +
 +cd $STUDENTS
 +
 +remove_old_links(){
 +  for d in `ls`; do
 +  (
 +    [ "$VERBOSE" = "true" ] && echo "Entferne Link-Verzeichnis ${EDIR}-$d..."
 +    if [ -d ${EDIR}-$d ]; then
 +      cd ${EDIR}-$d;
 +      find . -type l -exec rm -f {} \;
 +      cd ..
 +      rmdir ${EDIR}-$d || return
 +    fi
 +  )
 +  done;
 +}
 +
 +create_new_links(){
 +  (
 +  [ -n "$1" ] || return
 +  local DIR="${EDIR}-$1"
 +  mkdir $DIR || return
 +  chown root.teachers $DIR
 +  chmod 750 $DIR
 +  [ "$VERBOSE" = "true" ] && echo "Erstelle Link-Verzeichnis $DIR..."
 +  cd $DIR
 +  for schueler in `ls ../$1`; do
 +    [ -e ../$1/$schueler/$EDIR ] && ln -sf ../$1/$schueler/$EDIR $schueler
 +  done;
 +  )
 +}
 +
 +remove_old_links
 +
 +for d in `ls`; do
 +  create_new_links $d
 +done;
 +
 +cd $PWD
 +
 +exit 0
 +</code>
  
 [[anwenderwiki:einsammeln_ohne_schulkonsole]] anwenderwiki/einsammeln_ohne_schulkonsole.txt · Zuletzt geändert: 2015/07/11 21:47 von 127.0.0.1