mentések törlése

Fórumok

Sziasztok!

Adott egy mappa, ami tartalmaz különböző almappákat, ezekbe kerülnek gépenként a napi mentések, és sajnos egy idő után ugye tele lesz a diszk; erre kellene valamilyen megoldást találnom. Eddig csak odáig jutottam, hogy ls-el meg lehetne nézni a fájlok dátumát, és ha pl 2 nappal régebbiek az aktuális dátumhoz, törölni, viszont ez felvet olyan problémát, mi van, ha az adott gép nem mentett pl. 2 napja (akkor nyilván nem kéne törölni a régi fájlokat) Hogy álljak neki a problémának?

Hozzászólások

Ilyen feladatra egy rdiff-backup-ot állítottam be.

De egyet nem értek: ha módosul a foo.txt fájl, akkor az felkerül a "szerverre", igaz? Ha ez már elég régi, akkor miért kellene törölni? Lehet, hogy ahhoz a fájlhoz már jó ideje nem nyúltak. Vagy a foo.txt több példányban van?

Egyébként a 2 napnál régebbi fájlokat inkább egy find paranccsal keresném (-{a,c}time opció).

mi van, ha az adott gép nem mentett pl. 2 napja

akkor baj van. Ha valami enterspájz mentőrendszert használsz, akkor illendő legalább minden nap végignézni a job logokat vagy automatizálni a sikertelen mentésekről történő értesítés küldését. Ha nem és pl. rsync-kel, scp-vel stb.-vel mentesz, akkor beépíteni egy hibaellenőrzést és értesítésküldést a mentések állapotáról.

A problémának úgy állnék neki, hogy megvizsgálnám, mely rendszerekről nincs 2 napnál frissebb mentés. Kulcsszavak: touch, find -mtime
Ezeket eltenném egy listába. A lista birtokában már kihagyhatók a keresés-törlésből azon katalógusok, amelyekben nincs 2 napnál újabb mentés és a listában szereplő rendszerekről mihamarabb készítenék egy friss mentést.

--
A gyors gondolat többet ér, mint a gyors mozdulat.

Jól értem, akkor minden gépről az utolsó két fájlt akarod megtartani? Ez egy jó megoldás lenne? Arra egyszerű ls, és head-ból kikombinálható szkriptet lehetne írni. Az alapötlet: "rm `ls -tr | head -n -2`" (Ne add ki éles adatokon! Előbb próbálkozz teszt könyvtárban!)

Ez az adott könyvtárban törli az utolsó két fájl kivételével a többit. Persze, kell köré írni valami körítést, hogy pl. egy adott könyvtár alkönyvtáraira hajtsa végre, meg ne nyivákoljon, ha nincs 2-nél több fájl, de ezt csak akkor érdemes megtenni, ha az alapötlet jó.

(Aztán persze, ahogy mások is írták, nem árt utánajárni, ha egy gép rendszeresen nem ment...)

Készíts egy shell szkriptet, majd hozz létre belőle egy cron-jobot, ami mondjuk naponta egyszer lefut.

A shell szkriptbe a következőt tedd:
cd /a_könyvtar_eleresi_utja_ahol_a_mentesek_vannak
find * -mtime +8 -exec rm {} \;

Az első sorban tehát lépj be a mentéseket tartalmaző főkönyvtárba, a második sor pedig megkeresi a 8 napnál régebbi fájlokat, és törli őket.

Ez a gép végzi a mentéseket, vagy a kliensek? Mert ha a kliensek, akkor ott oldanám meg a két napi mentés megtartást. pl. ha windows a kliens akkor a cobian backup tudja ezt. Ha linux kliensek, akkor meg a mentést végző szkriptet kell úgy megírni, hogy az utolsó két mentést megtartsa.