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?
- 5558 megtekintés
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ó).
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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...)
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
a mentést a klienseen lévő cobian végzi, windowson.
--
>'The time has come,' the Walrus said<
- A hozzászóláshoz be kell jelentkezni
Akkor miért nem állítod be a cobiant, hogy az utolsó két mentést tárolja? Probléma letudva.
- A hozzászóláshoz be kell jelentkezni
Több helyen is használom, teljesen jól működik ez a funkció is.
- A hozzászóláshoz be kell jelentkezni
megpróbálom akkor ezt :)
--
>'The time has come,' the Walrus said<
- A hozzászóláshoz be kell jelentkezni