diff --git a/roles/cron/files/environment.etc b/roles/cron/files/environment.etc new file mode 100644 index 0000000..b144562 --- /dev/null +++ b/roles/cron/files/environment.etc @@ -0,0 +1,4 @@ +# Shell variable used by CRON +PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" +LANG=en_US.UTF-8 + diff --git a/roles/cron/handlers/main.yml b/roles/cron/handlers/main.yml new file mode 100644 index 0000000..1fbdbca --- /dev/null +++ b/roles/cron/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: Restart CRON + service: + name: cron + state: restarted +... \ No newline at end of file diff --git a/roles/cron/tasks/main.yml b/roles/cron/tasks/main.yml index cc2ccec..7e60385 100644 --- a/roles/cron/tasks/main.yml +++ b/roles/cron/tasks/main.yml @@ -20,4 +20,13 @@ user: core minute: "0" hour: "4" - job: "sudo /sbin/shutdown -r now" \ No newline at end of file + job: "sudo /sbin/shutdown -r now" + +- name: Copy environment file to /etc/environment to provide cronjobs with shell variables + copy: + src: environment.etc + dest: /etc/environment + owner: root + group: root + mode: 0644 + notify: Restart CRON diff --git a/roles/scripte/files/bashlib b/roles/scripte/files/bashlib index 372447b..aef2bb5 100644 --- a/roles/scripte/files/bashlib +++ b/roles/scripte/files/bashlib @@ -1,12 +1,19 @@ -# Fügt einen Zeitstempel an jede Zeile an +# Fügt einen Zeitstempel am Beginn jede Zeile an und gibt das Ergebnis aus +# Um ein einheitliches Format festzulegen einigen wir uns auf Fri Nov 18 13:01:21 CET 2022 +# Das entspricht dem Befehl date +'%a %b %d %H:%M:%S %Z %Y', falls die Locale EN ist. +# Das wird bei jedem Aufruf sichergestellt, nach der Funktion ist diese LC wieder weg. +# Ist hilfreich beim Testen, falls das unter cron ausgeführt wird ist eh schon die englische LC +# durch die Einstellungen in /etc/environment vorausgewählt. adddate() { + LC_ALL=en_US.UTF-8 while IFS= read -r line; do - printf '%s %s\n' "$(date)" "$line"; + printf '%s %s\n' "$(date +"%a %b %d %H:%M:%S %Z %Y")" "$line"; done } # Gibt den Namen der 1. aktiven NIC zurück die nicht das Loopback Interface ist -# Funktioniert auf Ubuntu 20.04, andere Versionen ungetestet +# Funktioniert auf Ubuntu 20.04, andere Versionen ungetestet. +# Kann man sicher besser machen getnic() { echo `ip link show | grep "state UP" | grep -v "LOOPBACK" | awk '{print $2}' | sed 's/://g'` }