Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Dateien-Erstellungsdatum wiederherstellen

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
gnuad
Newbie
Newbie
Beiträge: 5
Registriert: 18. Jul 2008, 10:36

Dateien-Erstellungsdatum wiederherstellen

Beitrag von gnuad »

Hallo an alle,

ich habe folgendes problem. ich habe mir meine daten von einer festplatte auf die andere kopiert und dabei leider vergessen dass ich auf das Erstellungsdatum rücksicht nehme. Nun hab ich seither auch schon einiges mit den daten gearbeitet. Was ich nun suche ist eine möglichkeit diese Attribute (ctime (??) ) zurückzuschreiben aber nur bei jenen Daten die sich nicht geändert haben. Wenn ich die Daten einfach wieder rüberkopierte dann würde ich ja geänderte Daten überschreiben und dass will ich nicht.
Kennt da jemand eine einfache Idee?
Danke für jede hilfe, martin
Benutzeravatar
robi
Moderator
Moderator
Beiträge: 3204
Registriert: 25. Aug 2004, 02:13

Re: Dateien-Erstellungsdatum wiederherstellen

Beitrag von robi »

gnuad hat geschrieben: Was ich nun suche ist eine möglichkeit diese Attribute (ctime (??) ) zurückzuschreiben aber nur bei jenen Daten die sich nicht geändert haben.
Bei der c-time wirst du dich ziemlich schwer tun diese anders als auf den derzeit aktuellen Zeit zu setzten. (nicht unmöglich, aber so nicht vorgesehen) siehe auch http://wiki.linux-club.de/opensuse/Zeit ... on_Dateien. Die a- und die m-time könnte man mit touch setzen wenn man immer genau wüßte auf welche Zeit. Größere Datenmengen könnte man eventuell mittels eines alten Backup auf die alten Zeitenstempel setzen, soweit sich nicht geändert wurden.
Also mit einfachen Möglichkeiten wird die c-time nichts, außer du ziehst in Betracht die Zeit des Rechners für jede Änderung einer Datei umzustellen. Für was brauchst du denn die Zeitstempel der letzte Änderung an den Daten der Inode ???? Um was für Dateien handelt es sich überhaupt? Selbst erstellte ? oder Dateien die du mittels Paketen installiert hast??? Bei Paket-installierten sollte es auch einige Tricks geben.

robi
Benutzeravatar
regexer
Advanced Hacker
Advanced Hacker
Beiträge: 1005
Registriert: 3. Dez 2004, 09:29
Wohnort: $_

Re: Dateien-Erstellungsdatum wiederherstellen

Beitrag von regexer »

gnuad hat geschrieben:ich habe mir meine daten von einer festplatte auf die andere kopiert ... Was ich nun suche ist eine möglichkeit diese Attribute (ctime (??) ) zurückzuschreiben
Was war denn das Quell- bzw. das Ziel-Dateisystem? ctime hat für den Benutzer bei den gängigen Linux-Dateisystemen sowieso wenig Aussagekraft. Meist geht man in der täglichen Arbeit nach der mtime (modification time). Das ist auch die Standard-Ausgabe von ls -t...
gnuad
Newbie
Newbie
Beiträge: 5
Registriert: 18. Jul 2008, 10:36

Re: Dateien-Erstellungsdatum wiederherstellen

Beitrag von gnuad »

Hallo,

Danke für die Antworten!

Ich wusste den unterschied zwischen a-c-m-time vorher nicht so genau. Es stimmt natürlich dass ich nicht die c Time ändern will sondern die m-time ändern.
Touch macht das ganze auch, allerdings habe ich zuviele Daten um das händisch zu machen.
Die Daten sind meine eigenen Nutzerdaten (Dokumente, Bilder, ...).

Mir sind meine ursprünglichen Dateien verloren gegangen. Habe dann einfach mittels cp befehl von meiner Sicherung die Daten zurückgespielt und war glücklich und hab weiter gearbeitet. Jetzt sehe ich aber dass die m-time bei meinen neuen Daten nicht mit den ursprünglichen (von der Sicherung, da hab ich nämlich die richtige m-time) übereinstimmen (weil durch das cp sie verändert wurden). Nur hab ich leider seither auch schon wieder viele Dateien bearbeitet (und haben daher einen neuen mtime-timestamp). Ich will nun noch die alten Dateien (also jene die gleich sind mit der Sicherung) den mtime nachträglich automatisch umstellen.
Kann mir da jemand helfen, touch macht das auch, aber leider nur händisch und das ist ein wenig viel arbeit bei 1000+ Dateien

Liebe Grüße,
Martin
spoensche
Moderator
Moderator
Beiträge: 7587
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: Dateien-Erstellungsdatum wiederherstellen

Beitrag von spoensche »

Das kannst du doch bequem per Script machen.

Code: Alles auswählen

for file in $(find /pfad/zu/deinem/verzeichnis)
  do
      touch -mt deinezeit $file
done
Müsste so gehen, wenn ich mich nicht irre.
Benutzeravatar
robi
Moderator
Moderator
Beiträge: 3204
Registriert: 25. Aug 2004, 02:13

Re: Dateien-Erstellungsdatum wiederherstellen

Beitrag von robi »

um auf die alte orginal m-Time zu kommen würde ich aus dem Backup alle Dateien die sich seit dem einspielen des damaligen Backups noch nicht geändert haben noch einmal mit den jetzt aber richigen Optionen überbügeln. Ein bisschen riskant aber das Backup hat ja schon mal funktioniert ;) Nur wird das bei dir eventuell zeitlich gesehen kein eindeutiges Zeitfenster geben, nach dem du die Dateien als geändert ansehen kannst, kann also durchaus etwas knifflig werden auf der Komandozeile.

Im Zweifelsfall kann man ein Script schreiben. etwa so hier.
Aus Backup alle Dateiname1 und Zeitstempel1 ziehen
Aus Platte Dateiname2 und Zeitstempel2
Ist Dateiname2 in Liste der Dateinamen1 vorhanden und
Zeitstempel2 älter= Rückspielzeitende dann touch Zeitstempel1
robi
Antworten