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