Sida 1 av 1

Upddatera filer i ett TAR-arkiv tar -u ? [LÖST]

Postat: 21 okt 2008, 14:15
av flierman
Jag har skapat ett tar-arkiv som är kopia på hela min home-mapp. Nu har jag jämfört alla filer för att se vilka som har förändrats sedan jag gjorde min backup.

Kod: Markera allt

tar -df backup.tar home
Den har då hittat 2 filer som är uppdaterade sen sist., frågan är då..hur kan jag med et tar-kommando uppdatera min backup med endast dessa två filer. Jag vill inte göra ett nytt arkiv med allting alltså.

Jag försöker då använda detta kommando:

Kod: Markera allt

tar -u backup.tar home
Får inget felsvar men filen i arkivet blir inte ändrad...but why?

-u updates the tar-file with files that are newer than the files already in the tar-file.

Re: Upddatera filer i ett TAR-arkiv tar -u ?

Postat: 21 okt 2008, 22:44
av David Andersson
flierman skrev:

Kod: Markera allt

tar -u backup.tar home
Får inget felsvar men filen i arkivet blir inte ändrad...but why?
Du glömde "f". När jag provar utan "f" får jag felmeddelande. Prova:

Kod: Markera allt

tar -uf backup.tar home
En annan sak. Det verkar som tar-kommandot aldrig vågar ändra inne i en tarfil, så alla ändrade och nya filer läggs i slutet på tarfilen. (Med gamla kopior av filen kvar mitt i tar-filen). Tar-filen kommer att växa hela tiden.

En tredje sak. När jag provar "tar -d" så visar den om en existerande fil har ändrats. Den visar inte om det har tillkommit nya filer som ännu inte finns i tar-filen. (Bara så du vet. Jag vet inte, men det kanske finns flaggor för att ändra det beteendet.)

---

Tar kan vara ett bra sätt att spara backupper i ett filsystem som inte stöder unix-aktiga rättigheter (cd,dvd,fat,ntfs). Annars, om du inte har det behovet, har du övervägt "cp -a" eller "rsync"?

Re: Upddatera filer i ett TAR-arkiv tar -u ?

Postat: 22 okt 2008, 11:24
av flierman
Jag testade att uppdatera den med filen som var uppdaterad enligt -df

Kod: Markera allt

tar -uf backup.tar Home/dokument.txt
Den puttar då in den uppdaterade filen men behaller även den gamla precis som du sa...kan man inte få den att skriva över istället?

Re: Upddatera filer i ett TAR-arkiv tar -u ?

Postat: 22 okt 2008, 23:40
av David Andersson
flierman skrev:kan man inte få den att skriva över istället?
Vet inte, skulle inte tro det. Men det är egentligen inget problem i sig att det finns flera versioner av samma fil i tar-filen. När du packar upp tar-filen så är det ju den senaste som kommer att bli kvar i filsystemet.

Problemen är andra:

Tar-filen blir med tiden större och större. Nån gång då och då måste du börja om med en ny tar-fil (skapad med "c" i st.f "u"). Och då kan du ju fundera på om du i så fall ska göra det ("c") varje gång?

Jag litar inte riktigt på "d" och "u". T.ex. så hittar inte "d" nya filer, bara ändrade filer.

Mitt tips är alltså "tar" med "c" varje gång, eller nåt annat som "cp -a" eller "rsync". ("zip" på min dator (paketet zip 2.32-1) verkar också klara att spara symlänkar och unix-rättigheter. Konstigt, men bra, tror jag. Zip har "-u".)

Re: Upddatera filer i ett TAR-arkiv tar -u ?

Postat: 27 okt 2008, 13:55
av flierman
David Andersson skrev:
flierman skrev:kan man inte få den att skriva över istället?
Vet inte, skulle inte tro det. Men det är egentligen inget problem i sig att det finns flera versioner av samma fil i tar-filen. När du packar upp tar-filen så är det ju den senaste som kommer att bli kvar i filsystemet.
Prima...testade nu och bara en variant av filen dök upp när jag packade upp arkivet, räcker för min del..tackar