[bash] Datumsarithmetik möglich?
[bash] Datumsarithmetik möglich?
Da cron+anacron meine Bedürfnisse nicht erfüllen kann, fcron nicht mehr gepflicht wird und meine Eigenentwicklung (wxCron) Schrott ist, versuche ich jetzt einen anderen Weg.
Ich möchte das meine Backupscripte selbst entscheiden/berechnen, ob sie ihr Backup ausführen sollen oder nicht.
Dafür muss ich mit Datum und Zeiträumen rechnen können. Geht sowas?
Jedes script weiß, wie oft (Intervalle) es laufen soll und vergleich diesen Wert mit dem Zeitstempel seiner letzten Ausführung. Klingt eigentlich gar nicht so schwer.
Auf diesem Wege kann das Script seine wiederholte Ausführung bei einem Fehler des Backups auch selbst steuern.
Haltet ihr das für grundsätzlich machbar?
Könnt ihr mir ein paar Fachwörter und Kommandos reinschmeißen, nach dennen ich dann suchen kann?
Danke.
Ich möchte das meine Backupscripte selbst entscheiden/berechnen, ob sie ihr Backup ausführen sollen oder nicht.
Dafür muss ich mit Datum und Zeiträumen rechnen können. Geht sowas?
Jedes script weiß, wie oft (Intervalle) es laufen soll und vergleich diesen Wert mit dem Zeitstempel seiner letzten Ausführung. Klingt eigentlich gar nicht so schwer.
Auf diesem Wege kann das Script seine wiederholte Ausführung bei einem Fehler des Backups auch selbst steuern.
Haltet ihr das für grundsätzlich machbar?
Könnt ihr mir ein paar Fachwörter und Kommandos reinschmeißen, nach dennen ich dann suchen kann?
Danke.
Re: [bash] Datumsarithmetik möglich?
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: [bash] Datumsarithmetik möglich?
Mhm... "date" sieht schon mal gut aus.
Aber ich sehe hier keine Zeiträume.
Wenn ich einen Zeitstepmpel (z.B. in UTC Zeit) aus einer Datei auslese und mi der aktuellen Zeit vergleiche, möchte ich die z.B. die Anzahl der Stunden wissen, welche seit dem Zeitstempel vergangen sind.
Aber ich sehe hier keine Zeiträume.
Wenn ich einen Zeitstepmpel (z.B. in UTC Zeit) aus einer Datei auslese und mi der aktuellen Zeit vergleiche, möchte ich die z.B. die Anzahl der Stunden wissen, welche seit dem Zeitstempel vergangen sind.
Re: [bash] Datumsarithmetik möglich?
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: [bash] Datumsarithmetik möglich?
Code: Alles auswählen
#!/bin/bash
# date +"%F %H:%M"
# 6. August 2012 um 18:23 in sekunden
date1=$(date --date="2012-08-06 18:23" +"%s")
# jetzt in sekunden
date2=$(date +"%s")
diff=$(($date2-$date1))
echo "$(($diff / 60 / 60)) hours $(($diff / 60)) minutes and $(($diff % 60)) seconds elapsed."
Ich werde mir da ein schickes Script zu schreiben.
Aber mich wunderts, dass es sowas nicht schon gibt. Bin doch sicherlich nicht der erste, der mit Zeit rechnen möchte.
Re: [bash] Datumsarithmetik möglich?
Date kann auch direkt den Zeitstempel einer Datei lesen:
Code: Alles auswählen
Datei=DeineDatei
echo "$Datei wurde zuletzt vor $(($(date +%s)-$(date -r "$Datei" +%s))) Sekunden geändert"
Re: [bash] Datumsarithmetik möglich?
Abgefahren. Dass muss ich ja gar keinen eigenen Zeitstempel anlegen, sondern immer nur ein "touch script_zeitstempel" machen und vorher ein "rm script_zeitstempel".Phineas hat geschrieben:Date kann auch direkt den Zeitstempel einer Datei lesen
Re: [bash] Datumsarithmetik möglich?
Um die Frage zu beantworten und - dem Threadtitel folgend - OT:MoonKid hat geschrieben:Aber mich wunderts, dass es sowas nicht schon gibt. Bin doch sicherlich nicht der erste, der mit Zeit rechnen möchte.
Es wird daran liegen, dass es zum Zwecke von Bakups genügend Tools gibt, die eine eigene Datumsarithmetik komplett überflüssig machen.
Re: [bash] Datumsarithmetik möglich?
Nenn mir eins. Ich habe über 10 Jahre lang viele probiert. Habe sogar 6 Jahre lang ein eigenes geschrieben, Mangels Fähigkeiten aber nie so ganz hinbekommen.Phineas hat geschrieben:Es wird daran liegen, dass es zum Zwecke von Bakups genügend Tools gibt, die eine eigene Datumsarithmetik komplett überflüssig machen.
Witzigerweise, hab ich dann in vor einem Jahr in zwei Wochene eine bash-script-Lösung auf cygwin gebastelt. Macht alles was ich brauche. Zeitsteuerung läuft halt über den Taskplaner den es unter Linux nicht gibt.
Eigentlich traurig, das der windows-taskplaner mehr taugt, als cron und anacron zusammen.
Jetzt migriere ich auf Linux und stehe eben vor dem Taskplaner-Problem.
Re: [bash] Datumsarithmetik möglich?
Du mußt die Datei vorher nicht löschen, touch ändert die modification time von bestehenden Dateien. Wenn die Datei nicht existiert wird sie nur eben nebenbei noch angelegt.MoonKid hat geschrieben:Dass muss ich ja gar keinen eigenen Zeitstempel anlegen, sondern immer nur ein "touch script_zeitstempel" machen und vorher ein "rm script_zeitstempel".
Re: [bash] Datumsarithmetik möglich?
Ich würde einen entsprechenden Thread aufmachen:MoonKid hat geschrieben:Zeitsteuerung läuft halt über den Taskplaner den es unter Linux nicht gibt.
Was will ich?
Was habe ich wie versucht?
Was klappt nicht?
Gerade dieses Forum ist voller Experten, die gerne und sehr kompetent helfen.