#!/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