Backup szkript

Sziasztok!

Olyan mentést kell készítsek, hogy a felhasználók home könyvtáráról hetente egy teljes mentést kellene csináljak, és naponta az előző naphoz képest megváltozott fájlokat kellene csak mentsem.

Tudna valaki debian-ra ajánlani valami jó szkriptet.

Rsync-el próbálkozok, nem sok sikerrel.

Előre is köszi!

Hozzászólások

Köszönöm a gyors válaszokat, a tar --newer tűnt a legegyszerűbbnek, csak még annyit gondom van vele, hogy a teljes könyvtár struktúrát létrehozza, ahol a fájl régebbi a megadott dátumnál, ott üres könyvtárat hoz létre.
Van-e olyan paramétere, hogy csak olyan könyvtárat hozzon létre amiben van fájl is, üreseket ne.


find -depth -type f -newer -print | cpio ...

Hátulütője az, hogy üres könytárakat nem ment, (visszatöltésnél a cpio-nak meg köll mondani, hogy csinálja meg a könyvtárakat is), tehát az user olyan cuccai, amik a home-jában létrehozot, egyébként üres könyvtárat használják, azok el fognak a visszaállítást követően hasalni, ergo célszerű a könyvtárakat is menteni.

Rdiff-backup tokeletes ilyen feladatra.

GUI nincs és szerintem egy pici szkripttel megoldató a feladat.
Van 7 könyvtár, minden napra 1, ide készülnek a napi változásokról a mentések.
Van egy könyvtár, full, ide készül hetente egy teljes mentés, mondjuk minden vasárnap.
A probléma már csak annyi, ha a 150 könyvtárból aznap csak 2 ben történt fájl módosítás, akkor a többi 148 könyvtárat is lementi, csak tök üresek.
Üres könyvtárat ne hozzon létre.

En pax-ot hasznalok erre a celra.
Ha erdekel a script, atdobom.

Persze, hogy érdekel, ha küldöd azt megköszönöm.
Az én szkriptemmel itt tartok:

Létrehoz egy könyvtárat, a mai nap nevével pl.:szerda, és menti azt ami ma lett módosítva.
Ez most próbaképpen a /etc könyvtárat menti. Ha eltelt egy hét, akkor felülírja az aktuális nap mentését.
Csak sajna az üres könyvtár struktúrát is lementi.(Vagy visszaállításkor az hasznos lehet?)
Ha jobban bele gondolok, lehet jobb is ha megmarad a könyvtár struktúra nem ?
Ha valakinek van még ilyen kis házi mentő szkriptje, azt megköszönöm, ha megosztja.

#!/bin/bash

DAY=`date "+%A"`
BACKUPDIR='mnt/a/mentett/'
cd /$BACKUPDIR

mkdir $DAY
cd /
tar -cf $BACKUPDIR/$DAY/etc.tgz --newer="" etc/* > /dev/null

Nekem van egy saját scriptem pontosan azt csinálja, amit szeretnél. Ezen kívűl multisession CD-re, vagy DVD-re írja a napi adagot és emailt küld, ha megtelt a média. Több gépen évek óta használom.
Ha érdekel írj :-)

Üdv!

Arrabonus

rsync szerintem értelmesebb és kényelmesebb megoldás erre. nem inkrementális, de szerintem tökéletes a célra

egyébként itt az én scriptem (ez talán túlzás, gyak. egy parancs), értelemszerűen módosítandó:


#!/bin/bash
#p - permissions
#v - verbose
#r - recursive
#l - symlinks
#t - time
#g - group
#o - owner
if [ $1 == 'all' ]; then
rsync -pvrltgo --delete --progress /mnt/save/docs/ /mnt/backup/docs/
rsync -pvrltgo --delete --progress /mnt/save/games/ /mnt/backup/games/
rsync -pvrltgo --delete --progress /mnt/save/music/ /mnt/backup/music/
rsync -pvrltgo --delete --progress /mnt/save/utils/ /mnt/backup/utils/
else
rsync -pvrltgo --delete --progress /mnt/save/$1/ /mnt/backup/$1/
fi
read -p "rsync finished"

+1,

egyszer lusta voltam manokat olvasni, és inkább napokig hegesztettem három szerver hálózati mentését tar és fuse/ftpfs-el.
Aztán amikor megcsináltam magamnak otthon duplicity-vel, rájöttem mekkora marha voltam nem elolvasni azt az 1-2 oldalt.
Sokkal egyszerűbb, mert erre van kitalálva, egy parancs, hálózatokat is kezeli, hipp-hopp megvan a visszaállítás, és nem akkor kell rájönni, hogy valami mégiscsak kimaradt a tar-ból.

A rsync még ennél is egyszerűbb, pl. ott még titkosítással sem kell pepecselni.

--
The Net is indeed vast and infinite...
http://gablog.eu

Nalunk az rdiff backup gyakorlatilag egy folyton upgradel-t mirrort keszit az adatokbol, amit kethetente elmozgat egy script, majd osszecsomizza, es kiirja. Persze, ezek a szerverek sajat rendszerere ertendok. Az adatbazisok mas elbiralas ala esnek - de azt nyilvan nem is rdiff-backup menti.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.