Keresés

Ú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 ngabor2 #2010 üzenetére

    Elég érdekes lesz egy flashes oldal. Az én gépem is megérzi, pedig 1024M ramom van.


    [link]

    Gondolom, nincs más utad, mint kipróbálni pár szimpatikusat a listából...

  • 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