Van egy elég nagy könyvtáram, amiről tar-ral szeretnék inkrementális mentést csinálni. A könyvtár egy másik szerveren van, így cifs-sel van felcsatolva ro-ban a backup idejére.
A probléma az, hogy ha magát a mountpointot adom meg tar-nak, akkor a differenciálisnál is ugyanúgy lementi az egészet, mert mindegyik könyvtárra azt látja, hogy "Directory renamed". Ha akármelyik alkönyvtárát adom meg, tökéletesen megy. Lehet ezt valahogy orvosnolni?
full mentés:
tar -czf /mnt/backup/full.tar.gz -g /mnt/backup/full.tar.gz.snar /mnt/share
diff mentés:
tar -czf /mnt/backup/diff1.tar.gz -g /mnt/backup/full.tar.gz.snar /mnt/share
Így a diff1.tar.gz-be sajnos ugyanígy beteszi az egészet. De pl ez tökéletesen megy (ugyanígy bármelyik alkönyvtárral):
tar -czf /mnt/backup/full.tar.gz -g /mnt/backup/full.tar.gz.snar /mnt/share/Autó
tar -czf /mnt/backup/diff1.tar.gz -g /mnt/backup/full.tar.gz.snar /mnt/share/Autó
Ötlet?
- 2136 megtekintés
Hozzászólások
Ez talán?
tar -czf /mnt/backup/diff1.tar.gz -g /mnt/backup/full.tar.gz.snar /mnt/share/*
- A hozzászóláshoz be kell jelentkezni
Már próbáltam, ugyanaz.
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
http://www.linuxquestions.org/questions/linux-software-2/gnu-tar-listed…
Ok, The problem the whole time was that both rdup and tar --listed-incremental detect every file on the cifs mount as being a new file. The reason for this is that the device number would change due to the automount. Tar has an option to get around this but it wasn't doing the trick. The temporary inode numbers being given to the mounted filesystems was the cause, they were being reassigned every time they were read. To get around this mount your cifs share with the "serverino" option.
server:share mountpoint cifs rw,mand,credentials=credential_file,serverino 0 0
That causes the windows machine to assign inode numbers to the files before cifs gets them, and thus they do not get reassigned. However, the windows server must support this and windows servers after 2000 do.
https://unix.stackexchange.com/questions/124531/linux-tar-listed-increm…
Lényeg: használj 'star'-t GNU tar helyett
- A hozzászóláshoz be kell jelentkezni
serverino
Pöpec, köszönöm!
[szerk] Visszavonom... Sajnos nem jó. Ugyanígy lementi az egészet.
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
Iszonyat hülye név ez a star, lehetetlen bármire is guglizni...
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
man https://linux.die.net/man/1/star
source https://sourceforge.net/projects/s-tar/
version history https://www.freshports.org/archivers/star
- A hozzászóláshoz be kell jelentkezni
Biztos én vagyok gyenge elméjű, de még mindig nem jöttem rá, hogy hogy lehet differenciális archívumot készíteni...
Nincs egy példa valahol?
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
Hátha segít: https://www.gnu.org/software/tar/manual/html_node/Incremental-Dumps.html
A példákban a snar file vagy /dev/null van, ha nincs snar.
- A hozzászóláshoz be kell jelentkezni
Csak tippelem, hogy az a bibi, hogy a vnode alapján dolgozik, és a csak a mentés idejére felcuppantott könyvtárnál ez változik. Próbáld meg felcsatolni, majd lementeni, és mégegyszer lementeni úgy, hogy közben nem csatolod le/vissza.
- A hozzászóláshoz be kell jelentkezni
Úgy rendben van serverino nélkül is.
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
Akkor felírhatjuk a jegyzetek közé, hogy a tar inkrementális mentése nem útvonal és fájlnév, hanem vnode alapon működik - az általad elvárt működéshez garantáltan(!) felcsatolva kell lennie a távoli könyvtárnak a teljes mentések közötti időszakban, vagy pedig más, útvonal/fájlnév/tartalom alapján működő megoldás után kell nézned.
- A hozzászóláshoz be kell jelentkezni
rdiff inkább?
- A hozzászóláshoz be kell jelentkezni
1 hét alatt se fut le ennyi fájlon, remote fájlrendszereen
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
En ennel sokkallta primitivebb modon oldottam meg anno: siman egy find -mdays -1, es nesze. Amelyik file tenyleg valtozott, annak a datuma is valtozott.
- A hozzászóláshoz be kell jelentkezni
A törlést nem követi.
És mi van azokkal a fájlokkal, amiből mondjuk a régebbi az új (jó)? Pl. van egy excel kalkulátor, amit módosítottak, de kiderült, hogy nem jó, és Mancika visszamásolja az egy héttel korábbit a pendrivejáról?
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
Esetleg:
rsync -a --delete
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Tömörítés nélkül rengeteg hely...
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
Én az rsync-kel mindig ugyanabba a rögzített BACKUPDIR-be szinkronizálok, majd rögtön utána a cp-val, a hardlinkes opcióval egy külön INCRDIR-be másolok:
cp -alf ${BACKUPDIR} ${INCDIR}
Az INCDIR lehet például ilyen, napi mentés esetén: INCDIR=$(date +%Y-%m-%d.backup)
Így ugyan nem lesznek tömörítve a mentések, de ha nincs túl sok változás, akkor a hardlinkek miatt kezelhető a mennyiség.
A helyfoglalás ellenőrzésére:
du -chs ${BACKUPDIR} incr_dir1 incr_dir2
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Távoli fájlrendszer a mentés célja is, hardlink sem játszik.
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni
A cp a hardlinkkel már a backupot őrző gépen futtatandó.
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
A backupot örző "gép" egy viszonylag buta NAS, így azon nem nagyon lehet.
--
"Sose a gép a hülye."
- A hozzászóláshoz be kell jelentkezni