Datei in Verzeichnis verschieben ohne das Verzeichnis-Datum zu ändern

roedert

roedert

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2011
Beiträge
12.148
Reaktionspunkte
3.315
In einem sh-Script verschiebe ich am Programmende die Logdatei in ein Verzeichnis, somit ändert sich natürlich das angezeigte Datum dieses Verzeichnisses. Gibt es irgendeinen Weg/Trick die zu verhindern?
 
Nicht schön, aber funktioniert:

OLDDATE=$(stat -t %Y%m%d%H%M.%S <dir> | cut -d" " -f10)
mv <datei> <dir>
touch -t $OLDDATE <dir>
 
stat...|cut kannst kürzen auf
Code:
OLDDATE=$(stat -f "%Sm" -t "%Y%m%d%H%M%S" <dir>)
 
  • Gefällt mir
Reaktionen: roedert
ach nochwas, mit der sonnenuhrpräzision von HFS+ passt ja der touch mit sekundenauflösung, aber falls du es präzise beibehalten willst und das auf APFS o.ä. läuft, würde ich mit "touch -r reference" arbeiten:
Code:
touch -m -r <dir> /tmp/touch-ref.tmp
mv blabla ...
touch -m -r /tmp/touch-ref.tmp <dir>
 
touch -r wäre auch mein Vorschlag gewesen, erzeugt allerdings den zusätzlichen Overhead einer anschließend zu löschenden temporären Referenzdatei.
 
neeeee, Sekunden (oder gar Minuten) reichen hier dicke aus!
Hintergrund war dass ich auf dem Server die mittlerweile zu unzuverlässige TimeMachine ablösen wollte. Erst hab ich mit rsnapshot von einem Linux aus rumexperimentiert, hatte aber zu viele Probleme mit Ordnericons, erweiterten Attributen etc.
CCC kann zwar in Grenzen versionieren - bringt dabei aber die Ordnerstruktur zu sehr durcheinander bzw. wird zu unübersichtlich.
Jetzt habe ich auf dem "Backup-Mac" rsnapshot sozusagen nachgebaut, es werden mit regelmäßig Backups (ohne Versionen) erstellt, und diese Backups werden rsnapshot-like in eigene Ordner mit Hardlinks kopiert.
Problem war erst wieder, dass macOS-cp keine Hardings unterstützt, also mittels tcp probiert - aber auch da wieder Probleme mit Ordnericons.
Jetzt läuft aber alle soweit, CCC macht das Backup und via pax werden die "hardgelinkten" Versionen erstellt/rotiert.
Und nur weil ich ins Verzeichnis eine Logdatei kopiere, möchte ich ja nicht das ursprüngliche (Backup)Datum verlieren.
 
Erst hab ich mit rsnapshot von einem Linux aus rumexperimentiert, hatte aber zu viele Probleme mit Ordnericons, erweiterten Attributen etc.
wie verhält sich reines rsync (v3), macht das auch schwierigkeiten?
 
macOS-intern war es ok, zwischen Linux (ext4) und macOS gab aber auch Probleme.
rsnapshot ist ja nix anderes wie rsync mit ein paar cp- und mv-Befehlen drum ;)
 
Zurück
Oben Unten