From b4f1345b1177d7a6c52f2bdf72d59b40f49c99ca Mon Sep 17 00:00:00 2001
From: Jan Ulrich Hasecke <jan.ulrich@hasecke.com>
Date: Wed, 13 Nov 2019 15:16:44 +0100
Subject: [PATCH] hsscript mit Skriptdatei aufrufen

---
 source/referenz/hsadmin/syntax.rst |    5 ++
 source/referenz/hsadmin/index.rst  |    1 
 source/referenz/hsadmin/skript.rst |   68 ++++++++++++++++++++++++++++++++++
 source/referenz/hsadmin/domain.rst |    2 
 4 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/source/referenz/hsadmin/domain.rst b/source/referenz/hsadmin/domain.rst
index 1615ac5..b3a9755 100644
--- a/source/referenz/hsadmin/domain.rst
+++ b/source/referenz/hsadmin/domain.rst
@@ -62,6 +62,6 @@
 
 .. code-block:: console
 
-    xyz00@hsadmin> domain.add ({set:{name:'hs-example.de',user:'xyz00'}})
+    xyz00@hsadmin> domain.add ({set:{name:'hs-example.de',user:'xyz00-doms'}})
 
 .. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
diff --git a/source/referenz/hsadmin/index.rst b/source/referenz/hsadmin/index.rst
index 253f831..b2ed6cd 100644
--- a/source/referenz/hsadmin/index.rst
+++ b/source/referenz/hsadmin/index.rst
@@ -64,4 +64,5 @@
     emailaddress
     emailaliases
     q
+    skript
 
diff --git a/source/referenz/hsadmin/skript.rst b/source/referenz/hsadmin/skript.rst
new file mode 100644
index 0000000..52d4962
--- /dev/null
+++ b/source/referenz/hsadmin/skript.rst
@@ -0,0 +1,68 @@
+.. _kap-hsscript-skript:
+
+=================================
+Befehlsdatei an HSAdmin übergeben
+=================================
+
+In :numref:`kap-hsadmin-syntax` haben wir die Option :option:`-f` erwähnt, die wir setzen können, um HSAdmin eine Datei zu übergeben, in der sich die Befehle befinden.
+Dies ermöglicht es uns, ohne großen Aufwand Skriptdateien zu pflegen, mit denen wir wiederkehrende Aufgaben bequem erledigen können.
+In diesem Kapitel zeigen wir, wie Sie die Anlage einer neuen Wordpress-Website mit Hilfe eines solchen Skripts vereinfachen können.
+Bevor man die Wordpress-Software installiert, müssen mehrere Schritte erledigt sein.
+
+1. Es existiert ein :role:`Domain-Admin` bzw. es wird ein neuer Domain-Admin angelegt.
+2. Es wird eine Domain erstellt und dem Domain-Admin zugewiesen.
+3. Es wird ein :role:`Datenbank-Nutzer` angelegt.
+4. Es wird eine Datenbank angelegt und dem Datenbank-Nutzer zugewiesen.
+
+Mit der folgenden Skript-Datei kann diese vier Schritte mit einem Befehl ausführen.
+
+.. code-block:: text
+   :linenos:
+
+   user.add ({set:{name:'xyz00-domains',comment:'Domain-Admin',password:'!1?2-3aBc',shell:'/bin/bash'}})
+   domain.add ({set:{name:'beispiel.de',user:'xyz00-domains'}})
+   mysqluser.add  ({set:{name:'xyz00_owner',password:'?2?3-4cVg'}})
+   mysqldb.add ({set:{name:'xyz00_abc',owner:'xyz00_owner'}})
+
+
+In Zeile 1 wird der Domain-Admin erzeugt, in Zeile 2 die Domain ``beispiel.de`` angelegt, in Zeile 3 der Datenbank-Nutzer und in Zeile 4 die Datenbank.
+Es ist möglich, die Datei lesbarer zu formatieren, indem jedem Key-Value-Paar eine eigene Zeile zuweist.
+
+.. code-block:: text
+   :linenos:
+
+   user.add ({set:{
+   name:'xyz00-domains',
+   comment:'Domain-Admin',
+   password:'!1?2-3aBc',
+   shell:'/bin/bash'
+   }})
+   domain.add ({set:{
+   name:'beispiel.de',
+   user:'xyz00-domains'
+   }})
+   mysqluser.add ({set:{
+   name:'xyz00_owner',
+   password:'?2?3-4cVg'
+   }})
+   mysqldb.add ({set:{
+   name:'xyz00_abc',
+   owner:'xyz00_owner'
+   }})
+
+Wenn Sie die Datei unter dem Namen :file:`befehlsskript.txt` im Verzeichnis des :role:`Paket-Admin` speichern, können Sie alle Befehle mit einem HSAdmin-Aufruf abarbeiten:
+
+.. code-block:: console
+
+   xyz00@h50:~$ hsscript -f befehlsskript.txt
+   
+Wenn Sie beispielsweise häufig Wordpress-Websites installieren, können Sie für jede Website eine solche Befehlsdatei anlegen und unter einem sinnvollen Namen (z.B. :file:`wordpress-beispiel_de.txt`) abspeichern.
+
+.. admonition:: Beachten Sie die richtige Reihenfolge
+
+   Bei der Anlage von Benutzern, Datenbanken und Domains ist die im Beispiel gezeigt Reihenfolge einzuhalten.
+   Um eine Domain anzulegen, muss der Domain-Admin bereits existieren.
+   Eine Datenbank kann nur erzeugt werden, wenn der Datenbank-Nutzer bereits angelegt ist.
+
+   Beim Löschen müssen Sie die Reihenfolge umkehren: Datenbank löschen, Datenbank-Nutzer löschen, Domain löschen, Domain-Admin löschen. 
+   
\ No newline at end of file
diff --git a/source/referenz/hsadmin/syntax.rst b/source/referenz/hsadmin/syntax.rst
index bc68bef..3b75570 100644
--- a/source/referenz/hsadmin/syntax.rst
+++ b/source/referenz/hsadmin/syntax.rst
@@ -1,3 +1,5 @@
+.. _kap-hsadmin-syntax:
+
 ======
 Syntax
 ======
@@ -44,7 +46,8 @@
 
 .. option:: -f --file
 
-   Datei, aus welcher Befehle gelesen und ausgeführt werden sollen
+   Datei, aus welcher Befehle gelesen und ausgeführt werden sollen.
+   Lesen Sie dazu :numref:`kap-hsscript-skript`.
 
 .. option:: -i --interactive
 

--
Gitblit v1.9.1