====== Starten des TSM-Scheduler / Linux ====== In allen Linux-Distributionen wird der Client-Scheduler über den //"DSM Client Acceptor Daemon (dsmcad)"// gestartet. Hierzu wird während der Installation des Clients ein entsprechendes Skript //dsmcad// in den Ordner ///etc/init.d/// abgelegt. ===== Standard-Weg gemäß IBM-Dokumentation ===== Die offizielle [[https://www-01.ibm.com/support/knowledgecenter/SSGSG7_7.1.3/client/c_sched_autotasks.html|IBM-Dokumentation]] schlägt zum Start den Aufruf über die //service//-Schnittstelle vor: # service dsmcad Dies ist für die offiziell unterstützten Distributionen auch der von uns favorisierte Weg. Für einige nicht offiziell unterstützten Distributionen zeigen nachfolgend Lösungen. ==== Debian ==== Das //dsmcad//-Skript des Clienten (Beispiel: Version 7.1.2.3) liest Umgebungsvariablen aus, die vom Skript ///etc/os-release// gesetzt werden. Wird hierbei die Variable //$NAME// auf //UBUNTU// gesetzt, startet das Skript; bei //Debian// ist dies nicht der Fall, die Variable enthält den Wert //Debian GNU/Linux// ... root@JessieBox:~# cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="https://bugs.debian.org/" ...und die Ausführung wird abgebrochen: root@JessieBox:~# /etc/init.d/dsmcad start /etc/init.d/dsmcad: 88: [: Debian: unexpected operator /etc/init.d/dsmcad: 143: /etc/init.d/dsmcad: start_: not found ==== Lösung ==== Passen Sie die Abfrage der Variable //$NAME// im //dsmcad//-Skript an, so dass auch //Debian GNU/Linux// gültig wird. Ersetzen Sie hierzu die Zeile if [ $NAME = "Ubuntu" ] durch if [ "$NAME" = "Ubuntu" -o "$NAME" = "Debian GNU/Linux" ] Maskieren Sie die Variable //$NAME// mit Hochkommata ("), durch das Leerzeichen in //Debian GNU/Linux// kommt es sonst zu dem oben genannten Fehler "[: Debian: unexpected operator" ==== OpenSuSE ==== folgt ... ==== Archlinux ==== folgt ... ===== Anpassungen für ältere Clientversionen ===== ==== Ubuntu / Debian ==== Die Unterstützung für Ubuntu ist zwar offiziell mit dem Clienten 7.1.2.//**0**// eingeführt worden, tatsächlich fand eine Anpassung erst im Rahmen eines späteren Patches statt. Das Start-Skript //dsmcad// enthält daher für sämtliche Client-Versionen inkl. 7.1.2.0 noch keinen Abschnitt für Ubuntu. Die nachfolgende Passage ist daher in das Skript einzufügen und zwar **vor** dem finalen //else//, das zum Abbruch führt: if [ "$NAME" = "Ubuntu" -o "$NAME" = "Debian GNU/Linux" ] then start_() { cd $DSMCAD_DIR if start-stop-daemon --status --exec $DSMCAD_BIN then echo "dsmcad is already running, pid" `pidof $DSMCAD_BIN` else if start-stop-daemon --start --exec $DSMCAD_BIN then echo "dsmcad is started, pid" `pidof $DSMCAD_BIN` else echo "dsmcad could not be started" fi fi } stop_() { if start-stop-daemon --status --exec $DSMCAD_BIN then if start-stop-daemon --stop --exec $DSMCAD_BIN then echo "dsmcad is stopped" else echo "dsmcad could not be stopped" fi else echo "dsmcad is not running" fi } status_() { if start-stop-daemon --status --exec $DSMCAD_BIN then echo "dsmcad is running, pid" `pidof $DSMCAD_BIN` else echo "dsmcad is not running" fi } fi else echo "This distribution is not supported" exit 2 fi ==== modizierte Datei dsmcad ==== Unter diesem [[de:services:storage_services:backup:tsm:anleitungen:scheduler-linux-dsmcad|Link]] finden Sie ein vollständige Darstellung des Skriptes //dsmcad// mit den zuvor beschriebenen Anpassungen. ====== Automatischer Start des dsmcad ====== ===== Suse Linux Enterprise / Red Hat Enterprise Linux ===== Für die offiziell supporteten Linux-Versionen ist der //dsmcad// über den folgenden Aufruf zu starten: //To enable the Client Acceptor Daemon to start automatically after a system restart, add the service as follows, at a shell prompt:// # chkconfig --add dsmcad ===== Debian / Ubuntu ===== Der Aufruf //chkconfig --add dsmcad// funktioniert sowohl bei Ubuntu 12.04 wie 14.04 und auch bei Debian nicht, da es kein Skript //chkconfig// gibt. Stattdessen kann der Systemstart von Diensten über den folgenden Befehl erfolgen: chmod a+x /etc/init.d/dsmcad update-rc.d dsmcad defaults 35 35 ===== OpenSuse ===== folgt ...