-
GAMEPOD.hu
Mára a ProHardver!/IT.News Fórum is nagylétszámú Linuxban jártas taggal büszkélkedhet. Nehéz szinteket felállítani egy olyan rendszer ismeretében, ami annyira sokrétű, hogy teljesen szinte lehetetlen megismerni minden egyes részét. Azt azonban mindenki tudja, hogy kezdő-e vagy sem. Elsősorban nekik szólnak az alábbiak, de érdemes mindenkinek elolvasnia, mint útjelző táblát.
Új hozzászólás Aktív témák
-
loszerafin
senior tag
Sziasztok
Backup programot keresek, a következő követelményeknek kellene eleget tennie:
1. Linux szerveren fut
2. Általam választott könyvtárat (pl. '/work' ) ment el naponta egyszer, a következőképpen:
a, A könyvtárat egy általam megadott könyvtárba menti le, pl '/backup'
b, a '/backup' alá létrehoz egy könyvtárat, aminek a mentés dátuma a neve,
/backup/2006-10-13/
c, ebben a könyvtárban elérhetem az összes fájlomat, ami 2006-10-13-án a /work könyvtárban volt:
/backup/2006-10-13/work/...
(eddig nem volt semmi szokatlan, de)
Most jön a lényeg:
Helytakarékossági okokból úgy szeretném, hogy azok a fájlok, amik nem változtak, azok szimbólikus linkek lennének.
Pl. Minden hétfőn egy teljes mentés menne, de keddtől vasárnapig csak a változott fájlok kerülnének be a /backup/ könyvtárba, a nem változott fájlok pedig symlinkek, amik a fájl utolsó verziójára mutatnának. Tehát nem feltétlenül a hétfői mentésre, oda csak akkor, ha hétfő óta nem változott a fájl.
Az értelme az lenne, hogy a windowsos klienseket menteném így, a mentést felkínálnám sambával, és így még a legkevésbé hozzáértő windows user is visszaállíthatná a fájljának a kívánt verzióját.
Persze megírhatnám a scriptet, de ha esetleg van ilyen vagy ehhez hasonló készen, jó lenne.
Nézegettem pár backup programot (amanda, bacula, mondo, rsync) de ugye a mondo másra való, az amanda-ból meg a baculából visszanyerni a fájlokat nem menne ilyen egyszerűen, mint egy az általam leírt backup programmal.
Az rsync nagyon ígéretes, mert tud csak fájllistát készíteni a változásról.
Úgyhogy azt csinálnám, hogy
Hétfő: leszedem a teljes könyvátrat
Kedd, Szerda,...:
1. fájllistát készítek a változott/új fájlokról
2. az előző napi mentés minden fájljára linket készítek a backup könyvtárban
3. ezt felülírom a fájllistában levő fájlokkal
Némi problémát fog okozni, hogy a törölt fájlok nem fognak eltűnni, de ez legyen a legnagyobb gond. Majd beadom, hogy ez feature és nem bug
(Most hogy így átgondoltam, azt hiszem, megírom. Azért ha vki javasolna valami programot vagy módosítást ehhez a leíráshoz, örömmel venném)
Előre is köszönöm
KL -
loszerafin
senior tag
válasz loszerafin #2008 üzenetére
Hát, ez meglepően egyszerű volt.
A megoldás kulcsa, hogy hardlinkeket kell létrehozni. Így nem foglalnak plussz helyet a fájlok.
Ráadásul nem is látni, hogy melyik ''fájl'' (azaz hardlink) volt az eredeti, de nem is számít.
Íme a script: (10 sor)
#!/bin/bash
# az előző mentés könyvtára
. mybackup-last
#ez a forráskönyvtár
SRC=/home/kukk/tmp/src
#ez a célkönyvtár
DEST=/home/kukk/tmp/dest
#ez a célkönyvtárban levő alkönyvtár
#formátuma: ÉÉÉÉ-HH-NN-ÓÓPPMM
#például: 2006-10-13-113758
DESTDIR=$DEST/`date +%Y-%m-%d-%H%M%S`
#Ez egy trükk, kissé csúnya:
#az előző mentés könyvtárát beírom a mybackup-last
#fájlba, amit majd a következő mentés beolvas.
#innen tudom, melyik az előző mentés
echo ''LASTDIR=$DESTDIR'' > mybackup-last
mkdir $DESTDIR
#Ha már volt előző mentés, akkor az előző mentést
#bemásolom az új könyvtárba, de igazi másolás
#helyett hardlinkelem, hogy ne foglaljon plussz helyet
if [ ''$LASTDIR'' != '''' ]; then
cp -R -l $LASTDIR/* $DESTDIR
fi;
#Rámásolok rsync-kel. Az rsync az megváltozott
#fájlok hardlinkjeit felülírja az új fájllal
rsync -av --no-p $SRC/ $DESTDIR/
Minden futáskor létrehozza a mybackup-last fájlt, amiben az utolsó mentés
könyvtára van.
Ezt ki lehetne találni a könyvtárak létrehozásának idejéből is, de nekem jó ez is. -
loszerafin
senior tag
válasz paramparya #2016 üzenetére
apt-get install mindi
apt-get install mondo
apt-get install mondo-doc
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen