Hallo,
ich möchte auf meinem Server das Nachts automatisch per Cron Scripte gestartet werden:
- markad => das bash script ist im Paket mit dabei (start_markad_videos), weil ich insgesamt 6 Tuner habe und wenn die wirklich mal alle laufen, will ich nicht das die CPU weiter belastet wird
- Backup-Script) => ein bash script welches ich auch sonst nutze
- EPG scannen (wenn er sowieso schon mal läuft) => svdrpsend SCAN
Anschließend soll der Rechner dann runter fahren, aber nur wenn der nächste Timer nicht in Kürze ansteht (20 Minuten?) oder er sowieso gerade aufnimmt.
Das mit dem Timer heraus finden geht z. B. so:
easyvdr@easyVDRDachboden:~/bin/AAA_test$ svdrpsend next rel
220 easyVDRDachboden SVDRP VideoDiskRecorder 2.2.0; Tue Feb 1 18:07:23 2022; UTF-8
250 1 8257
221 easyVDRDachboden closing connection
Wie bekomme ich diese Ausgabe zuverlässig von in dem Fall 8257 Minuten in einem bash-script in eine Integer-Variable (timer)? Die Zahl 1 davor ist vermutlich der verwendete Tuner, weil da habe ich immer mal verschiedene Zahlen.
Mit den Minuten kann ich dann hoffentlich so was hier machen:
limit=1200 # 20 Minuten
if [ $limit -gt $timer ];
then echo "Nächster Timer kleiner 30 Minuten => NICHT herunter fahren"
else
echo "Nächster Timer größer 30 Minuten => herunter fahren"
poweroff (bzw. was dafür nötig ist)
fi
Setze ich timer= 8257 oder eben kleiner funktioniert das schon mal.
Ich habe diverse Dinge versucht die 8257 als timer-Variable aus dem Aufruf zu extrahieren. Für bash,sed, awk-Profis ist das sicherlich easy-going, mich überfordert das als hin und wieder mal Befehlseintipper in der bash.
Gruß Ralf