diff --git a/cron.sh b/cron.sh new file mode 100644 index 0000000..7515eea --- /dev/null +++ b/cron.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Funktion zur Auswahl einer Option aus einer Liste +select_option() { + local options=$1 + local prompt=$2 + local selected_option + + select selected_option in $options; do + if [[ -n $selected_option ]]; then + break + fi + done + + echo "$selected_option" +} + +# Funktion zur Eingabe einer numerischen Zahl +read_number() { + local prompt=$1 + local number + + while true; do + read -p "$prompt" number + if [[ $number =~ ^[0-9]+$ ]]; then + break + fi + echo "Ungültige Eingabe. Bitte geben Sie eine numerische Zahl ein." + done + + echo "$number" +} + +# Eingabe der Minuten +minutes=$(read_number "Geben Sie die Minuten ein (0-59): ") + +# Eingabe der Stunden +hours=$(read_number "Geben Sie die Stunden ein (0-23): ") + +# Eingabe der Tage des Monats +days=$(read_number "Geben Sie die Tage des Monats ein (1-31): ") + +# Eingabe des Monats +months=$(select_option "Januar Februar März April Mai Juni Juli August September Oktober November Dezember" "Wählen Sie den Monat: ") + +# Eingabe der Wochentage +weekdays=$(select_option "Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag" "Wählen Sie den Wochentag: ") + +# Generieren des Cron-Jobs +cron_job="$minutes $hours $days $months $weekdays /pfad/zum/skript.sh" + +# Schreiben des Cron-Jobs in die Crontab-Datei +(crontab -l ; echo "$cron_job") | crontab - + +echo "Der Cron-Job wurde erfolgreich erstellt."