Backup Tapes
Giorgos Keramidas
keramida at ceid.upatras.gr
Mon Jul 2 20:26:14 EEST 2007
On 2007-07-01 23:31, Yiakoumis Yiannis <gyiakoumis at gmail.com> wrote:
> Κάποιες παρατηρήσεις στις προηγούμενες συμβουλές του Γιώργου, μαζί με
> το καινούριο backup.sh, το οποίο φυσικά εξακολουθεί να παραμένει
> ανοιχτό σε διορθώσεις :)
>
>> Το $TMP παραείναι γενικό σαν όνομα :-(
>
> Όντως είναι πολύ γενικό σαν όνομα, αλλά είναι απλά ένα tmp το οποίο
> φυλάει κάποια αρχεία όσο τρέχει το script και μετά σβήνεται. Επομένως
> ποιος ο λόγος να έχει πιο συγκεκριμένο όνομα?
Εντάξει, δεν χάθηκε ο κόσμος :-)
Προσοχή όμως, γιατί ορισμένα "προφανή" ονόματα, όπως π.χ. το $TMPDIR και
το $VISUAL, έχουν ήδη σημασία και μπορεί να αποτελέσουν αφορμή για
κάμποσες «εκπληκτικές» (και άκρως «διαφωτιστικές») ώρες debugging! :-)
>> Τότε θα μπορείς να γράψεις πράγματα όπως:
>> # Setup of backup environment.
>> BDIR='/root/backup'
>> LOGFILE="$BDIR/backup.log"
>> log "Backup at ${BDIR} starting."
>> runbackup
>> log "Backup at ${BDIR} finished."
>>
>> Με μια σχετικά πιο 'modular' συνάρτηση με όνομα runbackup(), το παραπάνω
>> μπορεί να είναι ΟΛΟΣ ο κύριος κορμός του backpu script! Δεν είναι πολύ
>> πιο ευανάγνωστο έτσι;
>
> Σαφώς. Μόνο που προτιμώ αντί να έχω τη συνάρτηση runbackup η οποία
> στην ουσία είναι το backup.sh, να έχω ένα λίγο πιο σύνθετο κορμό, από
> τον οποίο όμως μπορεί να βγει νόημα για το πώς δουλεύει το script. Από
> εκεί και πέρα, περαιτέρω λεπτομέρειες για sql, και directories
> μπαίνουν σε ξεχωριστά functions.
ok :)
>> Αν είναι να πάρεις ``incremental'' backups ή πάρε incremental
>> backups ή μην δίνεις αυτό το option στον χρήστη, που δε φταίει σε
>> τίποτα ο καημένος να νομίζει ότι θα πάρει incremental backups με
>> μέγεθος 2 MB, για να ανακαλύψει ότι τα 8192 MB που έχει ελεύθερα
>> ο δίσκος γέμισαν με full backup της MySQL!!!
>
> Δεν ξέρω κάποιον τρόπο να πάρω incremental backup πάνω στο database.
Ούτε εγώ ξέρω -- δεν έχω ασχοληθεί ιδιαίτερα με databases.
Προσωπικά θα έφτιαχνα ένα /etc/backup.d και θα έβαζα εκεί μέσα μικρότερα
'backup scriptlets', με configurable options του στυλ:
| % cat /etc/backup.conf
| #
| # /etc/backup.conf -- configuration options for /etc/backup.d scripts
| #
| # Copyright (C) 3001 Gnomovision Software, Inc. All rights blah...
| #
| # The options which are configured in this file affect the operation
| # of the backup scripts in `/etc/backup.d'. For a detailed listing
| # of all the available options, a decription of the way they work and
| # a detailed reference of all available values for these options,
| # please consult the rc.backup(7) manpage.
| #
| # $Id ... $
|
| backup_enable="YES" # Set to "NO" to disable all backup.d
| # scripts in one fell sweep.
|
| backup_incremental="YES" # Use incremental backups when possible.
|
| backup_notify_users="operator" # Users to notify with email
| backup_notify_enable="YES" # Email notifications enabled
|
| mysql_backup_enable="YES" # Enable backup of mysql databases.
| mysql_backup_databases="ALL" # Database list or 'ALL'.
|
| home_backup_enable="YES" # Backup of home directories.
| home_backup_dirs="keramida" # Subdirectories of /home to backup
| home_backup_incremental="NO" # Always use full backups for /home
|
| %
και μετά τα μικρότερα scripts `/etc/backup.d/*' θα χρησιμοποιούσαν ένα
κοινό σετ από shell functions π.χ. από το αρχείο `/etc/rc.backup.subr'
script, για να ελέγχουν options από το `/etc/backup.conf' και να
χειρίζονται ανάλογα το backup process.
Στο τέλος θα έβαζα τα backup scripts να παίρνουν και backup τον εαυτό
τους, γιατί τόσο shell scripting είναι κρίμα να πάει χαμένο!
/me ducks and runs FAR FAR away from l.g.u :P
>> Όλα τα παραπάνω είναι, βέβαια, καθαρά προσωπική μου γνώμη και δεν
>> είσαι υποχρεωμένος να ακολουθήσεις το One True Keramidas Shell-script
>> Style(TM).
>
> Όπως βλέπεις, χρησιμοποίησα στο μεγαλύτερο ποσοστό το One True
> Keramidas Shell-script Style(TM) :)
LOL! Κοίτα να δεις που το ανέκδοτο με το One True Keramidas
Shell-script Style θα αποκτήσει εντελώς δική του ζωή πλέον...
> Ευχαριστώ και πάλι για τη βοήθεια,
> Γιάννης
Παρακαλώ παρακαλώ :-)
More information about the Linux-greek-users
mailing list