From 64dfd20134ee028cc865745d8d8bfec31299ff0a Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 18 Dec 2023 14:49:09 +0100 Subject: initial commit --- run_playbook | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 run_playbook (limited to 'run_playbook') 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 + -- cgit v1.2.3