55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Funktion zur Eingabe einer numerischen Zahl oder Wildcard
|
|
read_number_or_wildcard() {
|
|
local prompt=$1
|
|
local input
|
|
|
|
while true; do
|
|
read -p "$prompt" input
|
|
if [[ $input =~ ^[0-9]+$ || $input == "*" ]]; then
|
|
break
|
|
fi
|
|
echo "Ungültige Eingabe. Bitte geben Sie eine numerische Zahl oder eine Wildcard (*) ein."
|
|
done
|
|
|
|
echo "$input"
|
|
}
|
|
|
|
# Funktion zur Eingabe einer Zeichenkette
|
|
read_string() {
|
|
local prompt=$1
|
|
local string
|
|
|
|
read -p "$prompt" string
|
|
echo "$string"
|
|
}
|
|
|
|
# Eingabe der Minuten
|
|
minutes=$(read_number_or_wildcard "Geben Sie die Minuten ein (0-59 oder * für jede Minute): ")
|
|
|
|
# Eingabe der Stunden
|
|
hours=$(read_number_or_wildcard "Geben Sie die Stunden ein (0-23 oder * für jede Stunde): ")
|
|
|
|
# Eingabe der Tage des Monats
|
|
days=$(read_number_or_wildcard "Geben Sie die Tage des Monats ein (1-31 oder * für jeden Tag): ")
|
|
|
|
# Eingabe des Monats
|
|
months=$(read_number_or_wildcard "Geben Sie den Monat ein (1-12 oder * für jeden Monat): ")
|
|
|
|
# Eingabe der Wochentage
|
|
weekdays=$(read_number_or_wildcard "Geben Sie den Wochentag ein (0-6, 0 steht für Sonntag oder * für jeden Wochentag): ")
|
|
|
|
# Eingabe des Befehls
|
|
command=$(read_string "Geben Sie den Befehl für den Cron-Job ein: ")
|
|
|
|
# Generieren des Cron-Jobs
|
|
cron_job="$minutes $hours $days $months $weekdays $command"
|
|
|
|
# Schreiben des Cron-Jobs in die Crontab-Datei
|
|
echo "$cron_job" >> mycron
|
|
crontab mycron
|
|
rm mycron
|
|
|
|
echo "Der Cron-Job wurde erfolgreich erstellt und der Crontab hinzugefügt."
|