Diskussion zu "Automatische Backups und Syncs unter OS X"

Auch ein guter Ansatz.

Wenn ich Dich richtig verstanden habe, prüft man per cronjob nur "Ist die letzte Sicherung älter als x sekunden -> wenn ja, Sicherung erstellen".
Diese Prüfung führt man anhand einer flag Datei (Zeitstempeldatei) durch.

Zeiten verarbeitet man IMHO (oft) am besten im Format "seconds from epoch" also Sekunden ab dem 01.01.1970 00:00:00.
Das hat den Vorteil, dass man sie sehr leicht vergleichen, addieren und subtrahieren kann.
 
daskas schrieb:
hmmm, wenn sheep schon ratlos ist????????
Das ist zwar ein nettes Kompliment, aber da überschätzt du mich jetzt wirklich ;). Es gibt hier Leute, die wesentlich mehr Ahnung von der Materie haben, als ich (maceis kennst du ja schon).

@maceis
Womit fragst du denn die Sekunden seit 1970 ab? Ich kenne mich mit diesen Zeitstempelgeschichten leider überhaupt nicht aus, finde die Idee aber auf den ersten Blick sehr gut, das wäre durchaus etwas, was ich mir als sinnvolle Erweiterung vorsellen könnte, gerade für Leute, die ein Notebook haben und oft unterwegs sind.
 
Zuletzt bearbeitet:
@maceis
genau sowas meinte ich. zusätzlicher cronjob, der den zeitstempel prüft und bei bedarf, die o.g. prozedur aufruft.

ich hatte da im hinterkopf, dass excel irgendwie die sekunden seit einem bestimmten datum (vielleicht gates geburtstag) zählt. vielleicht geht das auch auf der konsole.

jetzt muss ich erstmal mein festplattenproblem in den griff bekommen
https://www.macuser.de/forum/showthread.php?t=128100&goto=newpost
 
Mit dem Kommando stat kann man (neben vielen weiteren interesanten Informationan) auch die verschiedenen Zeitstempel von Dateien abfragen.

Eine Möglichkeit an die mtime der Datei "file" zu kommen sieht so aus:
Code:
eval `stat -s file`
echo mtime file: $st_mtime
Eine weitere Möglichkeit an die mtime einer Datei im Fomat "seconds from epoch" (immer GMT !) zu gelangen bietet Perl auch aus einem Shellskript heraus.
Hier ein Beispielskript:
Code:
#!/bin/bash
mtime=`perl -e 'print ((stat("file"))[9])'`
echo "mtime file: $mtime"

HTH
 
@maceis
Super, vielen Dank :). Damit sollte sich doch etwas machen lassen, wenn ich mal Zeit habe, werde ich das ins Script einbauen.
 
Zuletzt bearbeitet:
Gerne.

Und ein Bitte:
Macht doch nicht immer ein fullquoting (Komplettzitat) - das trägt nicht gerade zur Lesbarkeit des Forums bei.
Zitieren sollte man eigentlich nur das, worauf man direkt Bezug nimmt.

Bitte http://learn.to/quote lesen ;)
 
maceis schrieb:
Und ein Bitte:
Macht doch nicht immer ein fullquoting (Komplettzitat) - das trägt nicht gerade zur Lesbarkeit des Forums bei.
Sorry, das mache ich normalerweise auch nicht, ist mir diesmal nur so "rausgerutscht".

Hab's gleich rausgenommen, ich hoffe, das ist in deinem Sinn ;).
 
Zuletzt bearbeitet:
@sheep
Tausend Dank für dieses Tutorial!
Ich habe schon öfter mit dem Gedanken gespielt, mich in den Funktionsumfang von rsync zu lesen, aber nach den ersten Seiten war es meist für mich der Overkill, da das Programm ja wirklich einiges leisten kann.

Das, was Du hier aufgeschrieben hast, ist genau das, was ich gesucht habe.

Tausend Dank!

Gruss,
Arioch
 
.... eigentlich haben wir die flag datei ja schon. man kann ja ggf. den /bin/date eintrag aus der log-datei verwenden....
.... wenn er sich denn umwandeln läßt.
ansonsten ist das datum der logdatei (ls -l) ja auch repräsentativ für die zeit des letzten updates.
gruz kasp
 
Zuletzt bearbeitet:
Neuer Vorschlag (ohne Zeitstempel)

hi folks,
was haltet ihr von folgendem Vorschlag (den Zeitstempel habe ich noch nicht berücksichtigt):
#!/bin/bash
mount | grep $ziel > /dev/null
if [ $? -eq 0]; then
while read quelle ziel do
/usr/bin/time /usr/bin/rsync -avE $quelle/ $ziel/ > $ziel/protokoll.log
done < list.txt
else mail -v -s "$ziel ist NICHT gemountet!" user@mail.de < mail.txt
fi
Dieses Skript setzt voraus, dass es eine Datei "list.txt" gibt, in der in jeweils einer Zeile Quell- und Zielverzeichnis stehen, getrennt durch ein Leerzeichen. Beispiel:
/Quelle01 /Ziel01
/Quelle02 /Ziel02
/Quelle03 /Ziel03
usw. etc. pp
Ausserdem gibt es eine Datei "mail.txt" in der eine aussagekräftige Warnmeldung steht, ein nicht verfügbares Ziel betreffend.
Durch die while-Schleife spart man sich einige Zeilen. Die Datei "list.txt" hat den Vorteil, dass diese Datei auch Skriptunkundige editieren können, ohne in dem eigentlichen Skript navigieren zu müssen.
Ich hoffe die Umsetzung ist okay, aber maceis wird ein waches Auge darauf haben, hoffe ich. ;)
 
@hatty

Sehr coole Idee! Die list-Datei könnte man sogar mit Drag&Drop erstellen, einfach neue Datei in TextEdit anlegen, Quelle und Ziel vom Finder hineinziehen, sichern, fertig.
 
GEANUUUuuuu... ;)
Man sollte aber darauf achten, dass sich am Ende der Datei keine Leerzeile befindet. In diesen Fehler bin ich gerade getappt. :rolleyes:
 
Zuletzt bearbeitet:
an die 10.3.9er User:

rsync 2.6.2 kennt die "E"-Option nicht
 
Komisch...wollte heute statt mit psync auch mal dein rsync script testen und bei mir kommt sofort nach anfang folgender Fehler:

Code:
[ jim@localhost] ~/Desktop (36G free)% sudo ./backup_home                                                                          -=Sat 19.11.2005 9:07:20=-
rsync: writefd_unbuffered failed to write 85 bytes: phase "unknown" [receiver]: Broken pipe (32)
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-20/rsync/io.c(909)
Command terminated abnormally.
       11.29 real         0.92 user         6.80 sys
[ jim@localhost] ~/Desktop (36G free)%                                                                                             -=Sat 19.11.2005 9:07:40=-
 
Wenn ich mal google konsultiere, finde ich eine Menge Aussagen, dass rsync in Tiger noch Buggy ist. Soll Probleme mit zu grossen Home Verzeichnissen und mit der Option -E haben. Btw dies ist ein frisches System.
 
Soo?
Also aus meiner persönlichen Erfahrung kann ich nichts Negatives berichten.
 
maceis schrieb:
Soo?
Also aus meiner persönlichen Erfahrung kann ich nichts Negatives berichten.

Jo, passiert beim Kollegen auch. Home Verzeichnis ist 177 Gbyte gross. Aber egal, verwende dann psync. Das ist schoen schnell...
 
Ich habe vo 1 1/2 Jahren geswicht und verwende noch immer Panther. Was genau macht dieser -E Schalter, der in Panther fehlt ? Was machen denn genau die Resource Folks ?
 
taz schrieb:
Was genau macht dieser -E Schalter, der in Panther fehlt ? Was machen denn genau die Resource Folks ?
Sie speichern zusätzliche Datei-Informationen. Bsp.:

- deutsche Übersetzungen der Namen der Standard-Verzeichnisse ("Musik", "Filme" heissen eigentlich "Music", "Movies", nur durch die Resource Forks erhalten sie ihre deutschen Namen)
- Datei-Markierungen (rot, blau, gelb, etc.)

Allerdings gibt es die Möglichkeit, rsyncX zu installieren, welches ein verbessertes rsync mitbringt. Dieses unterstützt - soweit ich informiert bin - auch Resource Forks unter Panther. Man muss allerdings beachten, dass sich dieses rsync nicht unter /usr/bin/rsync befindet, sondern unter /usr/local/bin/rsync und eine leicht abweichende Syntax hat; insbesondere heisst die Option für Resource Forks nicht -E, sondern -e.
 
sheep schrieb:
...- deutsche Übersetzungen der Namen der Standard-Verzeichnisse ("Musik", "Filme" heissen eigentlich "Music", "Movies", nur durch die Resource Forks erhalten sie ihre deutschen Namen)
...
Das ist nicht richtig.
Die lokalisierten Namen haben mit Ressourceforks nichts zu tun.

In den RF wird manchmal auch gespeichert, um welchen Dateityp es sich handelt, mit welchem Programm sie erstellt wurden und mit welchem Programm diese geöffnet werden sollen oder mit welchem Icon sie im Finder dargestellt werden.
Manche Dateien kann man ohne RF nur noch sehr umständlich (oder gar nicht) öffnen.
Insbesondere unter pre X Systemen ist das Fehlen von Ressourceforks extrem nervig.
 
Zurück
Oben Unten