"Μια βελονιά σώζει εγκαίρως εννέα", είναι ένα παλιό ρητό. Στον κόσμο των υπολογιστών θα αναφέρεται σε αυτό το Stitch ως αντίγραφα ασφαλείας. Κατά την πορεία της παραγωγής IT υποδομής, είναι επιτακτική ανάγκη να επιτευχθεί μια uptime στους διακομιστές μας και των εφαρμογών της όσο πιο κοντά στο εκατό τοις εκατό δυνατό. Αν και υπάρχουν αρκετοί τρόποι για να γίνει μια στέρεη υποδομή πληροφορικής, είναι αδύνατο να γίνει απόδειξη αποτυχίας. Έτσι θα κάνουμε ένα σχέδιο Β.
Servers είναι κατασκευασμένα από τρεις μεγάλες στρώματα - το υλικό, το λειτουργικό σύστημα και εφαρμογές, καθώς και τα δεδομένα. Σε περίπτωση που υπάρχει βλάβη του υλικού είναι μάλλον απλή για την αντικατάσταση της μηχανής με ένα νέο. Εγκατάσταση του λειτουργικού συστήματος και εφαρμογών πολύ είναι σχετικά απλή. Το μέρος που είναι δύσκολο να αντικαταστήσουν είναι τα δεδομένα και τη διαμόρφωση που χρησιμοποιούν τις εφαρμογές σας. Σε περίπτωση αποτυχίας αυτό είναι το μέρος που δεν μπορεί να αντικατασταθεί. Γι 'αυτό και backup ότι δεδομένα σε τακτική βάση. Εμείς υποστηρίζουμε ότι κατά τέτοιο τρόπο ώστε να καθίσταται εύκολη η ανάκτηση σε περίπτωση έκτακτης ανάγκης.
Θα σας καθοδηγήσει μέσω της συγγραφής ενός σεναρίου να λάβει καθημερινά αντίγραφα ασφαλείας στο σύστημά σας. Για αυτή την άσκηση θα χρησιμοποιήσω ένα διακομιστή που εκτελεί το Apache web server, μια βάση δεδομένων MySQL server, και έχει έναν κατάλογο για το / home που περιέχει ορισμένα στοιχεία που πρέπει να υποστηριχθεί. Θα πρέπει, επίσης αντίγραφο ασφαλείας της προηγούμενης ημέρας, Apache αρχεία πρόσβασης σε ένα ξεχωριστό backup directory. Πρώτον, πρέπει να δημιουργήσουμε ένα κατάλογο όπου θα διαμένουν αντίγραφα ασφαλείας μας. Στο πλαίσιο της άσκησης έχω δημιουργήσει ένα κατάλογο που ονομάζεται BACKUP για το / opt διαμέρισμα. Θα οργανώσει την δημιουργία αντιγράφων ασφαλείας σε αυτόν τον κατάλογο, έτσι ώστε κάθε ημέρα backup κατοικεί σε έναν κατάλογο που σχηματίζεται σαν αυτή - / opt / BACKUP / έτος / μήνας / ημερομηνία /. Έτσι, στις 11 Αυγούστου 2008, η δημιουργία αντιγράφων ασφαλείας θα μπω σε / opt/BACKUP/2008/08/11 /. Ας δημιουργήσει αυτούς τους καταλόγους. Εκτελέστε την ακόλουθη σειρά εντολές όπως τη ρίζα του χρήστη.
# Mkdir-p / opt/backup/DATA/2008
# Cd / opt/backup/DATA/2008
# Mkdir 01 02 03 04 05 06 07 08 09 10 11 12
# Cd / opt / backup / data /
# CP-R 2008 2009
# Cd / opt / backup /
# CP-r LOG DATA
Βλέπε παρακάτω σημείωση πριν από την έκδοση αυτή η τελευταία εντολή.
# Chown-R calvin.calvin / opt / εφεδρική
Έχουμε τώρα δύο είδη backup οδηγούς - μία για δεδομένα και ένα άλλο για τα αρχεία καταγραφής. Με τη δημιουργία αντιγράφων ασφαλείας καταλόγους που δημιουργήθηκαν είμαστε τώρα έτοιμοι να αρχίσετε να γράφετε το σενάριο. Σημείωση: Είμαι χρησιμοποιώντας το χρήστη Calvin ολόκληρο το άρθρο. Παρακαλώ Calvin αντικαταστήσει με το δικό σας όνομα χρήστη.
################################################## #########
# Κωδικός αρχίζει εδώ
################################################## #########
#! / bin / bash
# Διακομιστή αντιγράφων ασφαλείας δεδομένων v1.0
#########################
# BACKUP CONFIG
#########################
# Ρύθμιση του μήνα, ημερομηνία, και την ημέρα
YEAR = `ημερομηνία +"% Y "» # 2008
MONTH = `ημερομηνία +"% m "» # 11
DAY = `ημερομηνία +"% d "» # 14
ΧΘΕΣ = »-ημερομηνία ημερομηνία =" χθες "+% Y-% m-% d` # 2008-11-13
YESTERDAY_DATE = »-ημερομηνία ημερομηνία χθες = +% d` # 13
YESTERDAY_MONTH = »-ημερομηνία ημερομηνία χθες = +% m` # 11
YESTERDAY_YEAR = »-ημερομηνία ημερομηνία χθες = +% Y` # 2008
ΣΗΜΕΡΑ ημερομηνία = »+% Y-% m-% d` # 2008-11-14
TODAY_DATE = »ημερομηνία +% d` # 14
# Καταλόγους backup για να
DATA_BACKUP_PARENT_DIR = / opt / backup / data / # <- Αλλαγή του παρόντος τα δεδομένα σας backup dir
LOG_BACKUP_PARENT_DIR = / opt / backup / log / # <- Αλλαγή αυτό σας Συνδεθείτε backup dir
# Apache έγγραφο root directory
APACHE_DOCROOT = / var / www / html /
# MySQL Database config
DB_IP = "localhost" # <- Αλλαγή σε αυτή την περίοδο της βάσης δεδομένων σας
DB_USER = "Calvin" # <- Αλλαγή σε αυτή τη βάση δεδομένων σας username
DB_PASS = "calvin_password" # <- Αλλαγή σε αυτή τη βάση δεδομένων σας κωδικό πρόσβασης
DB_NAME = "clientlist" # <- Αλλαγή της βάσης δεδομένων σας σε αυτό το όνομα
# Apache log dir
APACHE_LOG_DIR = "/ var / log / httpd /" # <- Αλλαγή σε αυτή τη διαδρομή των δεδομένων σας κορμών
# Εφαρμογή Files' Dir
APP_FILES = "/ home / Calvin / application_files /" # <- Αλλαγή σε αυτή τη διαδρομή των δεδομένων
# Config Dir
CONFIG_DIR = "/ etc /" # <- Αλλαγή σε αυτή τη διαδρομή δεδομένων
# Έκθεση Mail διεύθυνση
EMAIL_ID = "you@youremailid.com" # <- Αλλαγή για αυτό το e-mail σας ID
################################################## #########
# DATA BACKUP
################################################## #########
# Δημιουργήστε και πηγαίνετε σε backup directory
DATA_BACKUP_PARENT_DIR $ cd / $ ΕΤΟΣ / $ ΜΗΝΑ
mkdir $ day
cd $ day
# Λήψης αντιγράφων ασφαλείας
mysqldump-h $ (DB_IP)-u $ (DB_USER)-p $ ($ DB_PASS)) (DB_NAME> $ (DB_NAME). ΣΠ
πίσσα που zcvf $ (DB_NAME). tar.gz $ (DB_NAME). ΣΠ
RM-f $ (DB_NAME). ΣΠ
# / Etc backup
πίσσα που zcf etc.tar.gz / κτλ
# Εφαρμογή backup
πίσσα που zcf Apache_Doc_Root.tar.gz $ (APACHE_DOCROOT)
πίσσα που zcf App_Files.tar.gz $ (APP_FILES)
################################################## #########
# LOG BACKUP
################################################## #########
# Δημιουργήστε και πηγαίνετε σε backup directory
LOG_BACKUP_PARENT_DIR $ cd / $ YESTERDAY_YEAR / $ YESTERDAY_MONTH
mkdir $ YESTERDAY_DATE
cd $ YESTERDAY_DATE
# Αντίγραφο ασφαλείας httpd log
για το i $ (APACHE_LOG_DIR) / access_log. ΧΘΕΣ $ (*)? κάνουμε CP $ i.? γίνει
για το i access_log. ΧΘΕΣ $ (*)? κάνουμε gzip $ i? γίνει
################################################## #########
# Στείλει mail κοινοποιήσεις
################################################## #########
# Mail κοινοποιούν
SHC du-DATA_BACKUP_PARENT_DIR $ / $ ΕΤΟΣ / ΜΗΝΑΣ $ / $ day / * | mail-s "Backup για $ (hostname):: DATA γίνει:)" $ (EMAIL_ID)
SHC du-LOG_BACKUP_PARENT_DIR $ / $ YESTERDAY_YEAR / $ YESTERDAY_MONTH / $ YESTERDAY_DATE / * | mail-s "Backup για $ (hostname):: LOG γίνει:)" $ (EMAIL_ID)
################################################## #########
# Κωδικός τελειώνει εδώ
################################################## #########
Αποθηκεύστε αυτή τη δέσμη ενεργειών σε ένα κατάλογο, όπως / home / Calvin / scripts / backup.sh. Δώστε δικαιώματα για να το εκτελέσιμο αρχείο:
# Chmod + x / home / Calvin / scripts / backup.sh
Τώρα είναι καλό να πάει. Εκτελέστε τη δέσμη ενεργειών μορφή σας γραμμή εντολών:
# / Home / Calvin / scripts / backup.sh
Μπορείτε επίσης να προσθέσετε αυτό το σενάριο, προαιρετικά, ως μια εργασία cron έτσι ώστε να είναι σε εκτελούνται σε καθημερινή βάση σε χρόνο της επιλογής σας. Εάν θέλετε να εκτελέσετε αυτή τη δέσμη ενεργειών σε 4 το πρωί καθημερινής κάνετε τα εξής:
# Crontab-e
Δημιουργήστε μια νέα γραμμή στο αρχείο που ανοίγει και προστίθενται τα εξής:
0 4 * * * / home / Calvin / scripts / backup.sh> / dev / null
Ορίστε. Ο server θα τώρα αντίγραφο ασφαλείας των δεδομένων σας, βάση δεδομένων, αρχεία παραμέτρων, τους φακέλους των αιτήσεων, καθώς και αρχεία καταγραφής στο / opt / backup καθημερινά σε 4 το πρωί. Ένα έξυπνο πράγμα που πρέπει να κάνουμε τώρα είναι να εξάγει αυτά τα αντίγραφα ασφαλείας σε έναν απομακρυσμένο υπολογιστή, ώστε να μην χάσει την δημιουργία αντιγράφων ασφαλείας και αν ο server σας αντιμετωπίζει προβλήματα. Θα καλύψει το πώς να το κάνουμε αυτό στο επόμενο άρθρο μου.





























1 comment… read it below or (1 σχόλιο ... διαβάσετε παρακάτω, ή προσθέσω ένα )
Γειά
Είμαι δοκιμές το σενάριο, αλλά έχω λάθη με τις γραμμές:
ΧΘΕΣ = »-ημερομηνία ημερομηνία =" χθες "+% Y-% m-% d` # 2008-11-13
YESTERDAY_DATE = »-ημερομηνία ημερομηνία χθες = +% d` # 13
YESTERDAY_MONTH = »-ημερομηνία ημερομηνία χθες = +% m` # 11
YESTERDAY_YEAR = »-ημερομηνία ημερομηνία χθες = +% Y` # 2008
Το σφάλμα που έχω είναι το παράδειγμα:
mysystem # = »ΧΘΕΣ ημερομηνία. ημερομηνία =. χθες. +% Y-% m-% d `# 2008-11-13
Ημερομηνία: επιπλέον επιχειρηματίας »+% Y-% m-% d '
Δοκιμάστε «ημερομηνία-Βοήθεια 'για MOR πληροφορίες
Έχω δοκιμαστεί σε: Ubuntu Linux 7,04
Χάρη (και καλή δουλειά!)
Αφήστε ένα σχόλιο