Thread Dateisicherung bei Änderung - Flock und mehr (7 answers)
Opened by marky at 2011-12-03 10:05

marky
 2011-12-03 10:05
#154620 #154620
User since
2003-08-15
215 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

ich habe mal wieder ein Problemchen, ich lasse über eine Admin-Oberfläche Files ändern. Die Logik ist immer gleich

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
open (DAT2 , "> datei.tmp") ;
flock(DAT2,2) ;
open (DAT1 , "< datei.org") ;
if ( id==getid)
change && print DAT2
else
print DAT2
close(DAT1) ;
close(DAT2) ;

rename(datei.org,datei.bak) ;
rename(datei.tmp,datei.org) ;


ich durchlaufe die org-Datei, speichere die Zeile dann in die Tmp-Datei und benenne die Text-Datei dann um, das mache so, damit ich nicht die ganze org-Datei in den Speicher laden muss, weil die ggf. sehr gross sein kann. Jetzt habe ich doch vermehrt das Problem - dass das org-File leer ist - klar in der Microsekunde zwischen dem Lock-release und dem rename kann es knallen.

In den letzten Jahren schien die wahrscheinlichkeit sehr gering zu sein, dass das passiert, jetzt häufen sich aber die Fälle - ist auch kein grossen Problem, da vor jeder Änderungsaktion eine Sicherung gemacht wird, nervig ist es aber trotzdem - die Frage ist nun, wie könnte man den Lock über die rename-Aktion verlängern.

Hat da jemand eine Idee?

View full thread Dateisicherung bei Änderung - Flock und mehr