Vad är det säkraste sättet att bevara tidsstämplar vid en NAS-migrering?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Det säkraste sättet att bevara tidsstämplar är att kopiera med ett metadata-medvetet verktyg, verifiera resultatet och behålla källan oförändrad tills övergången är klar.

Börja inte med att flytta via drag-och-släpp. Bestäm först vilka tidsstämplar som är viktiga, testa om källfilssystemet, överföringsprotokollet, målsystemet och kopieringsverktyget kan hantera dem, och kör sedan en loggad initial kopiering följt av en mindre slutlig synkronisering. Modifieringstid är vanligtvis portabel; skapelse- och ändringstider kanske inte är det.

Definiera vilka tidsstämplar som måste bevaras

”Bevara tidsstämplar” kan betyda olika metadata på olika system. Linux och Unix visar vanligtvis mtime, atime och ctime, medan NTFS också visar skapelsetid; skillnaderna mellan mtime, atime, ctime och skapelsetid avgör vad som kan jämföras efter migrering.

Prioritera mtime när användare sorterar dokument, foton eller projektfiler efter senaste innehållsändring. Behandla ctime som en metadatahändelse för det nya filsystemet snarare än skapelsetid, och verifiera födelse- eller skapelsetid separat eftersom ett nyss skapat målobjekt kan få ett legitimt nytt värde.

Tidsstämpel Vad det vanligtvis betyder Förväntning vid migrering
mtime Senaste ändring av filinnehåll Primärt värde att bevara och verifiera
atime Senaste åtkomst till filen Kan ändras vid skanning eller kopiering
ctime Metadata- eller inode-status ändrad Ändras normalt på ett nytt filsystem
Födelse-/skapelsetid Objekt skapat på det filsystemet Stödet varierar beroende på verktyg, protokoll och mål

Använd en metadata-medveten kopiering istället för flytt

På Linux-till-Linux-vägar är rsync ett vanligt val eftersom arkivläge bevarar ändringstider tillsammans med flera andra attribut. Lägg bara till de ACL-, utökade attribut-, hårda länkar- eller plattformspecifika flaggor som din datamängd behöver, och förhandsgranska kommandot innan du tillåter borttagning eller ersättning.

På Windows-styrda vägar kan Robocopy bevara filmetadata, men katalogtidsstämplar kräver ett explicit Robocopy-alternativ. Undvik spegel-flaggan tills ett icke-destruktivt test bekräftar riktningen mellan källa och mål, eftersom en spegel kan upprepa borttagningar lika exakt som den upprepar filer.

Testa protokollet och filsystemet med en liten datamängd

Skapa ett prov med gamla och nya filer, inbäddade kataloger, namn med accenter, symboliska länkar om relevant, och kända tidsstämplar. Kopiera det via exakt det SMB-, NFS-, SSH-, lokalmonterings- eller applikationssökväg som planeras för produktion; överföringsprotokollet kan ändra resultatet även när målets NAS är densamma.

Jämför källa och mål med en tidsstämpelmanifest eller skriptad stat-utdata, inte bara en filbläddrare. Ett verkligt exempel visar att CIFS-monteringsbeteende kan motverka de begärda tidsstämpelflaggorna, så ett lyckat kommandoavslut är inte bevis på metadatafidelitet.

Använd en tvåstegsövergång och behåll en återställningskopia

Kör den stora initiala kopieringen medan källan är aktiv, verifiera filantal, innehållshashar för en representativ eller kritisk uppsättning, tidsstämplar, behörigheter och applikationsåtkomst, stoppa sedan skrivningar kort och kör en slutlig inkrementell passning. Spara loggar och manifest utanför båda dataträden.

Behåll källan skrivskyddad eller på annat sätt återställbar under en överenskommen lagringsperiod. Tidsstämplar är bara ett metadata-lager; granska utökade attribut vid en NAS-migrering innan du förklarar två träd som likvärdiga, särskilt för macOS, media och applikationshanterade filer.

Vanliga frågor

Bevarar rsync arkivläge alla tidsstämplar?

Nej. Det bevarar normalt modifieringstid, men atime, skapelsetid, ACL:er, utökade attribut och annan metadata kräver separat stöd eller alternativ. Målsystemets filsystem och protokoll måste också acceptera dem.

Varför ändras mappdatum även när filernas datum är korrekta?

Vissa verktyg återställer filers mtime men uppdaterar katalogers mtime när de skapar underordnade poster. Testa katalogtidsstämplar explicit och aktivera relevant katalogkopieringsalternativ när arbetsflödet kräver det.

Kan tidsstämplar repareras efter att data redan kopierats?

Ofta kan mtime korrigeras från en oförändrad källa eller sparat manifest utan att kopiera om filinnehåll. Skapelsetid och ctime är mindre portabla, så ta inte bort källan innan reparationsvägen är bekräftad.

Support och tips

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.