Hallo,
ggf. kann mir jemand kurz helfen...
habe wenig bis keine Erfahrung mit eigenen Bash-Scripte schreiben (vorhandene ändern ist kein Problem :D)
Was ich möchte:
Ein Shell-Script, welches aus einer Datei zwei Zeilen ausliest, in diesen Zeilen stehen je ein Timestamp.
Diese zwei Zeilen dann in zwei Variablen speichert, so dass ich mit diesen arbeiten kann.
Was ich am Ende machen möchte:
Ein Script, welches ggf. mehrmals täglich aufgerufen wird, öffnet und liest diese zwei Timestamps,
und wenn die Differenz der Timestamps zu "Jetzt" größer gleich 3, bzw. 7 Tage ist, soll ein anderes Script, bzw. eine Aktion ausgeführt werden. Anschließend in der entsprechenden Zeile in der Datei den Timestamp auf "Jetzt" setzen.
Sprich:
Lies Zeile 1 ein, bilde die Differenz zu heute, wenn Differenz in Tagen >= 3, dann führe xyz aus, und speichere in Zeile 1 den aktuellen Timestamp.
Anschließend lies Zeile 2 ein, ebenfalls Differenz zu heute, wenn Differenz >= 7 Tage, dann führe abc aus, und speichere in Zeile zwei den aktuellen Timestamp.
Warum das Ganze?
Ich nutze Unraid, dort gibt es leider kein Anacron, und mein Server ist keine 24h am laufen.
Ich möchte jetzt also, jedes mal wenn mein Server in Standby geht, dass vorher das Script aufgerufen wird, und entsprechend diese Aktionen ausgeführt werden.
Da mein Server ggf. mehr als einmal am Tag in Standby geht, brauche ich die "Sicherheit" dass die Aktion (xyz, oder abc) maximal einmal am Tag ausgeführt wird.
xyz wäre in dem Fall ein MySQLBackup Script (mit erweiterten Zeilen, also, nciht einach nur ein mysqldump) und abc wäre den Appdata / Docker Pfad sichern.
Ich weiß, da gibt es bereits plugins für die das zeitlich machen, aber beide nutzen den normalen Schredule / Cron. Aber, Cron wird, wenn der Zeitpunkt überschritten ist und das System aus, oder im Standby war, nicht nachgeholt, unter OMV nutzte ich deshalb Anacron, gibt es aber wohl nicht unter Unraid
Oder andere Ideen?
Grüße
Acid
Edit: oder ich könnte das hier amchem, anacron auf mein Unraid "kopieren"...
forums.unraid.net/topic/45328-…al-schedule-task-handler/
Nur die Warnung macht mir bissl Angst ^^
Und hier wäre aber das Problem, wenn es blöd läuft fährt der Rechner durch das S3 PlugIn Script gerade in Sleep , während eines der Scripte läuft. in meiner oben genannten Eigenlösung laufen erst die Script durch, und dann kommt Sleep...
ggf. kann mir jemand kurz helfen...
habe wenig bis keine Erfahrung mit eigenen Bash-Scripte schreiben (vorhandene ändern ist kein Problem :D)
Was ich möchte:
Ein Shell-Script, welches aus einer Datei zwei Zeilen ausliest, in diesen Zeilen stehen je ein Timestamp.
Diese zwei Zeilen dann in zwei Variablen speichert, so dass ich mit diesen arbeiten kann.
Was ich am Ende machen möchte:
Ein Script, welches ggf. mehrmals täglich aufgerufen wird, öffnet und liest diese zwei Timestamps,
und wenn die Differenz der Timestamps zu "Jetzt" größer gleich 3, bzw. 7 Tage ist, soll ein anderes Script, bzw. eine Aktion ausgeführt werden. Anschließend in der entsprechenden Zeile in der Datei den Timestamp auf "Jetzt" setzen.
Sprich:
Lies Zeile 1 ein, bilde die Differenz zu heute, wenn Differenz in Tagen >= 3, dann führe xyz aus, und speichere in Zeile 1 den aktuellen Timestamp.
Anschließend lies Zeile 2 ein, ebenfalls Differenz zu heute, wenn Differenz >= 7 Tage, dann führe abc aus, und speichere in Zeile zwei den aktuellen Timestamp.
Warum das Ganze?
Ich nutze Unraid, dort gibt es leider kein Anacron, und mein Server ist keine 24h am laufen.
Ich möchte jetzt also, jedes mal wenn mein Server in Standby geht, dass vorher das Script aufgerufen wird, und entsprechend diese Aktionen ausgeführt werden.
Da mein Server ggf. mehr als einmal am Tag in Standby geht, brauche ich die "Sicherheit" dass die Aktion (xyz, oder abc) maximal einmal am Tag ausgeführt wird.
xyz wäre in dem Fall ein MySQLBackup Script (mit erweiterten Zeilen, also, nciht einach nur ein mysqldump) und abc wäre den Appdata / Docker Pfad sichern.
Ich weiß, da gibt es bereits plugins für die das zeitlich machen, aber beide nutzen den normalen Schredule / Cron. Aber, Cron wird, wenn der Zeitpunkt überschritten ist und das System aus, oder im Standby war, nicht nachgeholt, unter OMV nutzte ich deshalb Anacron, gibt es aber wohl nicht unter Unraid

Oder andere Ideen?
Grüße
Acid
Edit: oder ich könnte das hier amchem, anacron auf mein Unraid "kopieren"...
forums.unraid.net/topic/45328-…al-schedule-task-handler/
Nur die Warnung macht mir bissl Angst ^^
Und hier wäre aber das Problem, wenn es blöd läuft fährt der Rechner durch das S3 PlugIn Script gerade in Sleep , während eines der Scripte läuft. in meiner oben genannten Eigenlösung laufen erst die Script durch, und dann kommt Sleep...