Jan Ulrich Hasecke
2019-11-13 b4f1345b1177d7a6c52f2bdf72d59b40f49c99ca
hsscript mit Skriptdatei aufrufen
3 files modified
1 files added
76 ■■■■■ changed files
source/referenz/hsadmin/domain.rst 2 ●●● patch | view | raw | blame | history
source/referenz/hsadmin/index.rst 1 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/skript.rst 68 ●●●●● patch | view | raw | blame | history
source/referenz/hsadmin/syntax.rst 5 ●●●● patch | view | raw | blame | history
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
source/referenz/hsadmin/index.rst
@@ -64,4 +64,5 @@
    emailaddress
    emailaliases
    q
    skript
source/referenz/hsadmin/skript.rst
New file
@@ -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.
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