Datei lesen ohne Zugriffszeit zu ändern



  • hmm könnte ich probieren, aber wie soll das dann aussehen??? sagen wir mal ich hab nen datei original.dcm und kopie.dcm



  • Zugriff auf die Kopie statt Original?

    MfG Kimmi



  • Nein, das sollte eigentlich nicht gehen, oder? Wenn man die Datei per Stream kopieren kann, dann kann man den Stream auch genauso gut in einen String einlesen. Das ist aber genau, was HackerNeo vor hat. Ausprobieren, würd ich sagen, ich hab hier nur Windows 🙂



  • nein ich meine Orginal.dm ist die orginale Datei, bei der ich die zeit nicht verändert haben. nun will ich also eine kopie(kopie.dcm) erstellen, mit der ich dann nachher alles machen kann was ich will. verständlich?



  • HackerNeo schrieb:

    nein ich meine Orginal.dm ist die orginale Datei, bei der ich die zeit nicht verändert haben. nun will ich also eine kopie(kopie.dcm) erstellen, mit der ich dann nachher alles machen kann was ich will. verständlich?

    wenn du es schaffst, eine Kopie zu erzeugen, ohne das der Zugriffsstempel geändert wird, dann sollte es funktionieren...



  • ja das weiß ich doch. aber wie?



  • welchen sinn soll es eigentlich haben, die zeit des letzten zugriffs nicht zu manipulieren? immerhin greifst du beim lesen halt auf die datei zu.



  • Nabend,

    ignoriert ruhig meinen Post ;).

    gruss
    v R



  • wo kann man denn hier nachrichten lesen?? bin erst seit heute registriert. Der Sinn dieser Sache ist, dass in meinem Unternehmen ein System eingeführt werden soll, das lange nicht benutzte dateien ausgelagert werden auf bänder. und ich schreibe gerade ein programm, dass diese ganzen Daten vorher noch auslesen soll und bestimmte metainformationen in einer datenbank speichert. klappt auch alles wunderbar nur darf ich die zeiten halt nich ändern, sonst sind demnächste alle daten vor kurzem erst gebruacht worden und nichts wird ausgelagert^^ Teufelskreis sag ich euch.

    🤡



  • Wenn das Programm eine datei findet, die zu alt ist, verschiebt es die doch auf Das Band. Dabei darf die Zugriffszeit doch ruhig geändert werden, oder? Oder meinst du mit 'auslagern' etwa kopieren?



  • das problem is doch, dass diese programm nach den letzten zugriffen geht. also wäre es dumm, wenn dann alle ein aktuelles datum haben und das passiert hat wenn ich mein programm über die server laufen lassen würde



  • es ist doch egal, was die ausgelesenen (zu alten) Dateien für ein Zugriffsdatum haben, da sie doch danach sowieso auf Bänder gespeichert werden, und die dürften ja nicht mehr zum Zuständigkeitsbereich deines Programmes gehören.



  • ich muss aber eine archivierung aller daten machen. auch von den alten. das soll halt davoer gemacht werden. und dann werden die zugriffsdaten beeinträchtigt. Versteht mich denn keinerß?? 😕



  • du kannst doch aber die letzte zugriffszeit einlesen ohne diese sofort zu überschreiben oder ?
    wenn dann eine datei zu alt ist, kopierst du diese und öffnest die kopie aus der du die meta daten in deine db speicherst. die kopie wird dann gelöscht und die originaldatei ausgelagert.
    mfg



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • mal schaun, ob das hier das richtige ist:
    http://www.gnu.org/software/libc/manual/html_node/Operating-Modes.html#Operating-Modes
    gibt ein flag an, das du bei open() verwenden kannst: O_NOATIME. ist allerdings eine erweiterung der glibc.

    edit: besonders interessant ist der satz "This is used by programs that do backups, so that backing a file up does not count as reading it." in der doku.



  • Hallo,

    HackerNeo schrieb:

    wo kann man denn hier nachrichten lesen?? bin erst seit heute registriert. Der Sinn dieser Sache ist, dass in meinem Unternehmen ein System eingeführt werden soll, das lange nicht benutzte dateien ausgelagert werden auf bänder. und ich schreibe gerade ein programm, dass diese ganzen Daten vorher noch auslesen soll und bestimmte metainformationen in einer datenbank speichert. klappt auch alles wunderbar nur darf ich die zeiten halt nich ändern, sonst sind demnächste alle daten vor kurzem erst gebruacht worden und nichts wird ausgelagert^^ Teufelskreis sag ich euch.

    🤡

    wie schon oft: Haettest du das vorher gesagt!

    Zum einen gibt es (2)stat, mit der du die entsprechenden Zeiten abfragen
    kannst.

    namenlos schrieb:

    mal schaun, ob das hier das richtige ist:
    http://www.gnu.org/software/libc/manual/html_node/Operating-Modes.html#Operating-Modes
    gibt ein flag an, das du bei open() verwenden kannst: O_NOATIME. ist allerdings eine erweiterung der glibc.

    edit: besonders interessant ist der satz "This is used by programs that do backups, so that backing a file up does not count as reading it." in der doku.

    Von sowas wuerde ich prinzipiell absehen, wenn du nicht weisst, auf welchem
    System eine Software zum Einsatz kommt. Wenn dies allerdings feststeht und
    die entsprechende lib installiert ist, kann man das natuerlich machen. Ist
    natuerlich auch die Frage, ob das OS diesen Modus unterstuetzt.

    gruss
    v R


Anmelden zum Antworten