[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Frage zu find (-mtime)



Mario Duve schrieb:
Rainer Ellinger schrieb:


Mario Duve schrieb:

Irgendwie sehe ich bei der zahlen Angabe von find -mtime nicht
durch. Ich will mit tar eine Backup der Daten machen, die in den
letzten 24 Stunden geändert worden sind. Ist dafür jetzt
find /home/ -type f -mtime 1 oder -mtime 0 das richtige?

-mtime -1 - wobei die Frage ist, wie Du 24 Stunden definierst? Exakt?
Oder umgangssprachlich? Dann könnte noch -daystart interessant sein.

Ich würde es aber anders machen. Erzeuge beim letzten Backup vor dem
Start mit touch eine beliebige Markerdatei (in /etc oder /var oder wo's
passt und liegen bleiben darf) und verwende dann "-newer datei".


Ich möchte eigentlich nichts weiter, wie z.B jeden Tag um 18:00 Uhr von
/home ein Backup nach /backup machen und zwar nur von den Datein die
zwischen den beiden Backups neu erstellt worden sind, oder geändert
wurden. Könnte mir jemand sagen wie ich das am besten angehe, mache.
hmm, nehm doch die tar funktion fuer inkrementelle backups.

/backup/dumplevel sollte fuer den initialen zustand
mit einer 0 (null) in der ersten zeile erstellt werden

#!/bin/bash

BACKUP_DIR=/home
TARGET_DIR=/backup
LOG_DIR=${TARGET_DIR}/log
DUMP_LEVEL=`cat ${TARGET_DIR}/dumplevel`
INCR_SNAP=${TARGET_DIR}/incr_snapshot

tar \
-c \
-f ${TARGET_DIR}/level_${DUMP_LEVEL}.tar.gz \
-g ${INCR_SNAP} \
-v \
-z \
${BACKUP_DIR} \
>>${LOG_DIR}/level_${DUMP_LEVEL}.log \
2>>${LOG_DIR}/level_${DUMP_LEVEL}.err

gzip ${LOG_DIR}/level_${DUMP_LEVEL}.log
gzip ${LOG_DIR}/level_${DUMP_LEVEL}.err

let NEXT_DUMP_LEVEL=$[DUMP_LEVEL}+1
echo ${NEXT_DUMP_LEVEL} > ${TARGET_DIR}/dumplevel

exit 0

fuer das da oben uebernehme ich keine haftung ;)
das ist so ungefaehr die kurzform dessen, wie
das backup bei mir laeuft (allerdings auf dat)

damit bekommst du ein level_0.tar.gz was ein
vollbackup von /home darstellt. danach werden
level_1.tar.gz, level_2, level_3, etc. erstellt,
die dann nur die aenderungen bzw. neuen dateien
unter home gegenueber dem vollbackup bzw. dem
vorherigen level enthalten.

ich wechsel allerdings woechentlich mein band,
so dass ich pro band ein vollbackup und sechs
inkrementelle level habe. dabei wird auch eine
nullstellung vorgenommen, die wieder 0 in dumplevel
schreibt und die incr_snapshot loescht, so dass
level_0 ein vollbackup ist (incr_snapshot wird
dann von tar automatisch erstellt).

ehrlich gesagt sieht das backup auf dat noch
etwas anders aus (die einzelnen tar dateien
sind auf dem dat volumes; da der zugriff auf
das dat ja sequentiell ist). evtl. kann man
das backup auf platte auch staendig in das
gleiche file machen ...

also bei einem blick in die man page von tar ...
-u, --update
    only append files  that  are  newer  than  copy  in
    archive

da waere doch nur noch die frage, ob er auch
dateien aufnimmt die vorher noch nicht da waren ...

    Volker

PS: da faellt mir doch gerade noch ein - mit
    rsync /home /backup
    sollte es auch gehen ;)
--
We haven't figured out how to be lower priced than Linux.
                                Steve Ballmer (Microsoft)



Reply to: