summaryrefslogtreecommitdiff
path: root/run_playbook
diff options
context:
space:
mode:
authoradmin2023-12-18 14:49:09 +0100
committeradmin2023-12-18 14:49:09 +0100
commit64dfd20134ee028cc865745d8d8bfec31299ff0a (patch)
tree240e1552d24c2ae84d809846d66daef818826420 /run_playbook
downloadansible-64dfd20134ee028cc865745d8d8bfec31299ff0a.tar.gz
initial commit
Diffstat (limited to 'run_playbook')
-rwxr-xr-xrun_playbook58
1 files changed, 58 insertions, 0 deletions
diff --git a/run_playbook b/run_playbook
new file mode 100755
index 0000000..d6d781f
--- /dev/null
+++ b/run_playbook
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+# Achtung beim Editieren!
+#
+# Identische Datei (via symlinks) fuer:
+# ansible-hosts
+# ansible-postgres
+# ansible-mysql
+
+command="ansible-playbook -v -i hosts $@ site.yml"
+
+echo
+echo "Aufruf:"
+echo " run_playbook [ansible-playbook-Optionen]"
+echo "Beispiel:"
+echo " run_playbook <- alles auf allen Servern durchfuehren"
+echo " run_playbook -C <- alles auf allen Servern, aber nur simulieren"
+echo " run_playbook -l seto,izumo <- alles durchfuehren, aber nur auf seto und izumo"
+echo " run_playbook -l chaos <- alles durchfuehren, aber nur auf seto und izumo (chaos)"
+echo " run_playbook -t apt <- auf allen Serven nur die Aufgaben der Rolle apt durchfuehren"
+echo " run_playbook -C -t apt -l chaos <- Kombination von allem oberen"
+echo
+echo "Verfuegbare Tags:"
+grep tags -A1 site.yml | grep -v tags | grep -v -- -- | uniq
+echo
+echo "Verfuegbare Tags zum Gruppenkopieren:"
+echo -n " - "
+grep tags -A1 site.yml | grep -v tags | grep -v -- -- | uniq | sed 's/[ -]*//' | tr '\n' ',' | sed 's/,$//'
+echo
+echo
+echo "Werde folgendes Kommando ausfuehren:"
+echo
+echo " $command"
+echo
+read -p "Letzte Chance, mit CTRL-C abzubrechen; ansonsten mit Enter weiter..."
+
+# Kurz die Gruppenrechte in der Rolle bin korrigieren
+# (git speichert leider nur die Rechte auf user-Ebene,
+# der Rest haengt von der umask des jeweils auscheckenden
+# Rechners ab)
+if [ -d roles/bin ]; then
+ chmod -R g-w roles/bin/files
+ chmod -R g-w roles/bin/templates
+fi
+
+if [ -x /usr/bin/unbuffer ];
+then
+ unbuffer $command | tee log/colored.log
+else
+ $command
+fi
+
+echo "Verfuegbare Tags zum Gruppenkopieren:"
+echo -n " - "
+grep tags -A1 site.yml | grep -v tags | grep -v -- -- | uniq | sed 's/[ -]*//' | tr '\n' ',' | sed 's/,$//'
+echo
+echo
+