Computer >> कंप्यूटर >  >> स्मार्टफोन्स >> Linux

स्वचालित लिनक्स/यूनिक्स बैकअप कैसे बनाएं

यह मार्गदर्शिका आपको Linux (और अधिकांश *nix ऑपरेटिंग सिस्टम) में स्वचालित बैकअप बनाने की प्रक्रिया में कदम दर कदम आगे ले जाएगी।

"समय में एक सिलाई नौ बचाता है", एक पुरानी कहावत है। कंप्यूटर की दुनिया में हम उस सिलाई को बैकअप के रूप में संदर्भित करते हैं। उत्पादन आईटी अवसंरचना चलाते समय, यह अनिवार्य है कि हम अपने सर्वरों और अनुप्रयोगों पर यथासंभव सौ प्रतिशत अपटाइम प्राप्त करें। जबकि आईटी अवसंरचना को ठोस बनाने के कई तरीके हैं, इसे विफलता प्रूफ बनाना असंभव है। इसलिए हम एक प्लान बी बनाते हैं।

सर्वर तीन व्यापक परतों से बने होते हैं - हार्डवेयर, ऑपरेटिंग सिस्टम और एप्लिकेशन और डेटा। हार्डवेयर विफलता के मामले में मशीन को एक नए के साथ बदलना आसान है। ऑपरेटिंग सिस्टम और एप्लिकेशन इंस्टॉल करना भी अपेक्षाकृत सरल है। जिस हिस्से को बदलना मुश्किल है, वह डेटा और कॉन्फ़िगरेशन है जो आपके एप्लिकेशन उपयोग करते हैं। विफलता के मामले में यह वह हिस्सा है जिसे बदला नहीं जा सकता है। इसलिए हम उस डेटा का नियमित रूप से बैकअप लेते हैं। हम इसका इस तरह से बैकअप लेते हैं कि आपात स्थिति में इसे पुनः प्राप्त करना आसान हो जाता है।

मैं आपके Linux सिस्टम पर स्वचालित दैनिक बैकअप लेने के लिए एक स्क्रिप्ट लिखने में आपका मार्गदर्शन करूंगा। इस अभ्यास के लिए मैं एक सर्वर का उपयोग करूंगा जो अपाचे वेब सर्वर, एक MySQL डेटाबेस सर्वर चलाता है, और /home पर एक निर्देशिका है। विभाजन जिसमें कुछ डेटा होता है जिसका बैकअप लेने की आवश्यकता होती है। हम एक अलग बैकअप निर्देशिका में पिछले दिन के अपाचे एक्सेस लॉग का भी बैकअप लेंगे। सबसे पहले, हमें एक निर्देशिका बनाने की आवश्यकता है जहां हमारे बैकअप रहेंगे। अभ्यास के हिस्से के रूप में मैंने बैकअप . नामक एक निर्देशिका बनाई है /ऑप्ट . पर विभाजन। हम इस निर्देशिका में बैकअप को व्यवस्थित करेंगे ताकि प्रत्येक दिन बैकअप इस तरह की निर्देशिका में बना रहे - /opt/BACKUP/YEAR/MONTH/DATE/ . इसलिए 11 अगस्त 2008 को बैकअप /opt/BACKUP/2008/08/11/ में चला जाएगा। . आइए इन निर्देशिकाओं को बनाएं। कमांड के निम्नलिखित सेट को रूट . के रूप में चलाएँ उपयोगकर्ता।

# mkdir -p /opt/backup/DATA/2008
# सीडी /ऑप्ट/बैकअप/डेटा/2008
# एमकेडीआईआर 01 02 03 04 05 06 07 08 09 10 11 12
# सीडी /ऑप्ट/बैकअप/डेटा/
# cp -r 2008 2009
# सीडी /ऑप्ट/बैकअप/
# cp -r डेटा लॉग

यह अंतिम आदेश जारी करने से पहले नीचे नोट देखें।

# chown -R calvin.calvin /opt/backup

अब हमारे पास बैकअप निर्देशिकाओं के दो सेट हैं - एक डेटा के लिए और दूसरा लॉग फ़ाइलों के लिए। बैकअप निर्देशिकाओं के निर्माण के साथ अब हम स्क्रिप्ट लिखना शुरू करने के लिए तैयार हैं। नोट: मैं उपयोगकर्ता का उपयोग कर रहा हूं केल्विन इस पूरे लेख में। कृपया केल्विन . को बदलें अपने स्वयं के उपयोगकर्ता नाम के साथ।


################################# ##############
# कोड यहां से शुरू होता है
#################### ############################

#!/बिन/बैश

# सर्वर डेटा बैकअप V1.0

#######################
# बैकअप कॉन्फिग
############# ##########

#माह, तारीख और दिन कॉन्फ़िगर करें
YEAR=`date +”%Y”` # 2008
MONTH=`date +”%m”`# 11
DAY=`date + “%d”` # 14
कल =`तारीख -दिनांक ="कल" ​​+%Y-%m-%d` # 2008-11-13
YESTERDAY_DATE=`दिनांक -दिनांक=कल + %d` # 13
YESTERDAY_MONTH=`तारीख –दिनांक=कल +%m` # 11
YESTERDAY_YEAR=`दिनांक –दिनांक=कल +%Y` # 2008
TODAY=`दिनांक + %Y-%m-%d` # 2008-11-14
TODAY_DATE=`दिनांक +%d` # 14

बैकअप के लिए # निर्देशिकाएं

DATA_BACKUP_PARENT_DIR=/opt/backup/DATA/ # <- इसे अपने डेटा बैकअप में बदलें dir
LOG_BACKUP_PARENT_DIR=/opt/backup/LOG/ # <- इसे अपना लॉग बैकअप बदलें dir

# अपाचे दस्तावेज़ रूट निर्देशिका
APACHE_DOCROOT=/var/www/html/

# MySQL डेटाबेस कॉन्फिगरेशन
DB_IP="लोकलहोस्ट" # <- इसे अपने डेटाबेस सर्वर के आईपी में बदलें
DB_USER="केल्विन" # <- इसे अपने डेटाबेस उपयोगकर्ता नाम में बदलें
DB_PASS="calvin_password" # <- इसे अपने डेटाबेस पासवर्ड में बदलें
DB_NAME="क्लाइंटलिस्ट" # <- इसे अपने डेटाबेस के नाम में बदलें

# Apache Log Dir
APACHE_LOG_DIR="/var/log/httpd/" # <- इसे अपने लॉग के पाथ डेटा में बदलें

# एप्लिकेशन फ़ाइलें 'Dir
APP_FILES="/home/calvin/application_files/" # <- इसे डेटा निर्देशिका के पथ में बदलें

# कॉन्फिगर डिर
CONFIG_DIR="/etc/" # <- इसे पाथ डेटा डायरेक्टरी में बदलें

# मेल रिपोर्ट पता
EMAIL_ID="you@yourmailid.com" # <- इसे अपनी ई-मेल आईडी में बदलें

############################################# ###
# डेटा बैकअप
############################### ################

# बैकअप निर्देशिका बनाएं और उसमें जाएं
cd $DATA_BACKUP_PARENT_DIR/$YEAR/$MONTH
mkdir $DAY
cd $DAY

# डेटाबेस बैकअप
mysqldump -h ${DB_IP} -u ${DB_USER} -p${DB_PASS} ${DB_NAME}> ${DB_NAME}.db
tar -zcvf ${DB_NAME}.tar .gz ${DB_NAME}.db
rm -f ${DB_NAME}.db

# /etc बैकअप
tar -zcf etc.tar.gz /etc

# एप्लिकेशन बैकअप
tar -zcf Apache_Doc_Root.tar.gz ${APACHE_DOCROOT}
tar -zcf App_Files.tar.gz ${APP_FILES}

############################################# ###
# लॉग बैकअप
############################### ################

# बैकअप निर्देशिका बनाएं और उसमें जाएं
सीडी $LOG_BACKUP_PARENT_DIR/$YESTERDAY_YEAR/$YESTERDAY_MONTH
mkdir $YESTERDAY_DATE
सीडी $YESTERDAY_DATE

${APACHE_LOG_DIR}/access_log में मेरे लिए # HTTPD लॉग बैकअप
।${YESTERDAY}*; सीपी $ मैं करो।; किया
मेरे लिए access_log में।${YESTERDAY}*; gzip $i करें; हो गया

############################################# ###
# मेल सूचनाएं भेजें
############################## #################

# मेल सूचित करें
du -shc $DATA_BACKUP_PARENT_DIR/$YEAR/$MONTH/$DAY/* | मेल-एस "${HOSTNAME} के लिए बैकअप::डेटा किया गया :)" ${EMAIL_ID}
du -shc $LOG_BACKUP_PARENT_DIR/$YESTERDAY_YEAR/$YESTERDAY_MONTH/$YESTERDAY_DATE/* | मेल-एस "${HOSTNAME} के लिए बैकअप ::लॉग किया गया :)" ${EMAIL_ID}

############################################# ###
# कोड यहां समाप्त होता है
############################### #################

इस स्क्रिप्ट को /home/calvin/scripts/backup.sh जैसी निर्देशिका में सहेजें। फ़ाइल को निष्पादन योग्य अनुमतियाँ दें:

# chmod +x /home/calvin/scripts/backup.sh

अब आप जाने के लिए अच्छे हैं। अपनी कमांड लाइन के रूप में स्क्रिप्ट चलाएँ:

# /home/calvin/scripts/backup.sh

आप वैकल्पिक रूप से इस स्क्रिप्ट को क्रॉन जॉब के रूप में भी जोड़ सकते हैं ताकि इसे आपकी पसंद के समय पर दैनिक आधार पर निष्पादित किया जा सके। यदि आप इस स्क्रिप्ट को रोजाना सुबह 4 बजे चलाना चाहते हैं तो निम्न कार्य करें:

# क्रोंटैब-ई

खुलने वाली फ़ाइल में एक नई लाइन बनाएं और निम्नलिखित जोड़ें:

0 4 * * * /home/calvin/scripts/backup.sh> /dev/null

तुम वहाँ जाओ। आपका सर्वर अब /opt/backup में आपके डेटा, डेटाबेस, कॉन्फ़िगरेशन फ़ाइलों, एप्लिकेशन फ़ाइलों और लॉग फ़ाइलों का बैकअप लेगा। हर रोज सुबह 4 बजे - पूरी तरह से स्वचालित लिनक्स बैकअप! एक बढ़िया अगला कदम उन्हें एन्क्रिप्ट करना है :)


  1. सीएस कैसे बनाएं:लिनक्स वीपीएस पर सर्वर पर जाएं

    काउंटर-स्ट्राइक के लिए स्टीम के आधिकारिक गेम सर्वर:ग्लोबल ऑफेंसिव अधिकांश उद्देश्यों के लिए पर्याप्त हैं। हालाँकि, आप उन्हें नियंत्रित नहीं करते हैं। यदि आप अपना स्वयं का सर्वर बनाते हैं, तो आप निम्न में सक्षम होंगे: अपने स्वयं के नियम निर्धारित करें, जैसे मैच का समय, फ्रीज का समय, अधिकतम खिलाड़ी,

  1. लिनक्स में सरल शैल स्क्रिप्ट कैसे बनाएं

    शेल स्क्रिप्ट बनाना सबसे आवश्यक कौशलों में से एक है जो लिनक्स उपयोगकर्ताओं के पास अपनी उंगलियों की नोक पर होना चाहिए। शेल स्क्रिप्ट दोहराए जाने वाले कार्यों को स्वचालित करने में एक बहुत बड़ी भूमिका निभाते हैं जो अन्यथा लाइन दर लाइन थकाऊ निष्पादन होगा। इस ट्यूटोरियल में, हम कुछ बुनियादी शेल स्क्रिप्

  1. लिनक्स पर बूट करने योग्य विंडोज 10 यूएसबी कैसे बनाएं

    अपने लिनक्स पर विंडोज 10 ऑपरेटिंग सिस्टम को स्थापित करना जटिल नहीं है। वास्तव में, यदि आप किसी भी जटिलता से बचना चाहते हैं, तो बूट करने योग्य विंडोज 10 यूएसबी वह है जिसे आप ढूंढ रहे हैं। इस लेख में, हम बूट करने योग्य विंडोज 10 यूएसबी बनाने की सटीक प्रक्रिया में गोता लगाएंगे, और आप इसे कैसे कर सकते ह