Trekste to

Fanurgakis Manolis mfano at freemail.gr
Tue Oct 21 16:21:53 EEST 2003


On Monday 20 October 2003 12:13, «ιγώ» wrote:

> Μπορείς να προσθέσεις το script στον κατάλογο /etc/cron.daily οπότε
> θα το τρέχει το σύστημα _ακριβώς μια φορά_ κάθε μέρα. Φαίνεται
> καλύτερη λύση. Μέσα στο script θα ελέγχει αν είναι η σωστή μέρα για
> backup.

<######### script #########>

bkp-dir=/mnt/backup
bkp-era=daily
src-dir=/home/
src-files=manolis/

date=`date +%y.%m.%d-%H%M`

cd ${src-dir}
n="${bkp-dir}/home-${bkp-era}-${date}.tar.gz"

logger "backup[$$]: ${bkp-era} starting"
tar czf "${n}" manolis/
logger "backup[$$]: ${bkp-era} done"

cd ${bkp-dir}
rm `ls -t home-${bkp-era}-* 2>> /dev/null|tail +6` 2>> /dev/null

<######### /script #########>

Κάνει το backup στον καθορισμένο κατάλογο, ονομάζοντάς το σύμφωνα με την 
ώρα. Κατόπιν με την εντολή rm κρατάει μόνο τα 5 πιο πρόσφατα αντίγραφα.

Βάζοντας παρόμοια σκριπτάκια στα /etc/cron.{hourly,daily,weekly,monthly} 
εξασφαλίζει κανείς ότι έχει αρκετές διαφορετικές εκδόσεις του home. 
Αυτό είναι αρκετά χρήσιμο (έχει τύχει να σβήσω κάποιο αρχείο ή να γίνει 
κατά λάθος overwrite και μερικές ώρες/μέρες μετά να το ψάχνω μάταια).

Καλό είναι ο κατάλογος του backup να είναι σε ξεχωριστό δίσκο, αν 
υπάρχει διαθέσιμος. Και εννοείται ότι τα αντίγραφα γράφονται σε 
δευτερεύον μέσο σε τακτά χρονικά διαστήματα (π.χ. κάθε εβδομάδα).

Για το ωριαίο backup θα μπορούσε (για οικονομία χρόνου cpu) να γίνεται 
incremental ως προς το τελευταίο ημερήσιο:

last-daily=`ls -t ${bkp-dir}/home-daily-* | head -1`
find ${src-dir} ! -type dir -newer ${last-daily} > /tmp/bkp$$
tar czf ${n} -T /tmp/bkp$$
rm /tmp/bkp$$





More information about the Migrate2linux mailing list