কম্পিউটার

কিভাবে স্বয়ংক্রিয় লিনাক্স/ইউনিক্স ব্যাকআপ তৈরি করবেন

এই নির্দেশিকা আপনাকে লিনাক্সে স্বয়ংক্রিয় ব্যাকআপ তৈরি করার প্রক্রিয়ার মাধ্যমে ধাপে ধাপে নিয়ে যাবে (এবং বেশিরভাগ *নিক্স অপারেটিং সিস্টেম)।

"সময়ে একটি সেলাই নয়টি বাঁচায়", একটি পুরানো কথা বলে। কম্পিউটারের জগতে আমরা সেই সেলাইটিকে ব্যাকআপ হিসাবে উল্লেখ করি। একটি প্রোডাকশন আইটি অবকাঠামো চালানোর সময়, এটি অপরিহার্য যে আমরা আমাদের সার্ভার এবং অ্যাপ্লিকেশনগুলিতে যতটা সম্ভব শতভাগের কাছাকাছি একটি আপটাইম অর্জন করি৷ একটি আইটি অবকাঠামো শক্ত করার অনেকগুলি উপায় থাকলেও, এটি ব্যর্থতার প্রমাণ করা অসম্ভব। তাই আমরা একটি পরিকল্পনা বি.

করি

সার্ভারগুলি তিনটি বিস্তৃত স্তর দিয়ে তৈরি - হার্ডওয়্যার, অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশন এবং ডেটা। একটি হার্ডওয়্যার ব্যর্থতার ক্ষেত্রে এটি একটি নতুন দিয়ে মেশিন প্রতিস্থাপন করা বরং সহজ। অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশন ইনস্টল করা তুলনামূলকভাবে সহজ। যে অংশটি প্রতিস্থাপন করা কঠিন তা হল ডেটা এবং কনফিগারেশন যা আপনার অ্যাপ্লিকেশনগুলি ব্যবহার করে৷ ব্যর্থতার ক্ষেত্রে এই অংশটি প্রতিস্থাপন করা যাবে না। তাই আমরা নিয়মিত সেই ডেটা ব্যাকআপ করি। আমরা এটিকে এমনভাবে ব্যাক আপ করি যাতে জরুরী পরিস্থিতিতে এটি পুনরুদ্ধার করা সহজ হয়৷

আমি আপনার লিনাক্স সিস্টেমে স্বয়ংক্রিয় দৈনিক ব্যাকআপ নেওয়ার জন্য একটি স্ক্রিপ্ট লেখার মাধ্যমে আপনাকে গাইড করব। এই অনুশীলনের জন্য আমি একটি সার্ভার ব্যবহার করব যা Apache ওয়েব সার্ভার চালায়, একটি MySQL ডাটাবেস সার্ভার, এবং /home-এ একটি ডিরেক্টরি রয়েছে পার্টিশনে কিছু ডেটা রয়েছে যা ব্যাক আপ করা দরকার। আমরা একটি পৃথক ব্যাকআপ ডিরেক্টরিতে আগের দিনের Apache অ্যাক্সেস লগগুলিও ব্যাকআপ করব। প্রথমত, আমাদের একটি ডিরেক্টরি তৈরি করতে হবে যেখানে আমাদের ব্যাকআপগুলি থাকবে। অনুশীলনের অংশ হিসাবে আমি ব্যাকআপ নামে একটি ডিরেক্টরি তৈরি করেছি /opt-এ বিভাজন আমরা এই ডিরেক্টরিতে ব্যাকআপগুলিকে সংগঠিত করব যাতে প্রতিটি দিনের ব্যাকআপ এইভাবে গঠিত একটি ডিরেক্টরিতে থাকে – /opt/BACKUP/YEAR/MONTH/DATE/ . সুতরাং 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 ডেটা লগ

এই শেষ কমান্ডটি জারি করার আগে নীচের নোটটি দেখুন৷

# chown -R calvin.calvin /opt/backup

আমাদের কাছে এখন দুটি সেট ব্যাকআপ ডিরেক্টরি রয়েছে - একটি ডেটার জন্য এবং অন্যটি লগ ফাইলগুলির জন্য৷ ব্যাকআপ ডিরেক্টরি তৈরি করে আমরা এখন স্ক্রিপ্ট লেখা শুরু করতে প্রস্তুত। দ্রষ্টব্য: আমি ব্যবহারকারী ক্যালভিন ব্যবহার করছি এই নিবন্ধ জুড়ে। অনুগ্রহ করে ক্যালভিন প্রতিস্থাপন করুন আপনার নিজের ব্যবহারকারীর নাম দিয়ে।


############################### ###############
# কোড এখানে শুরু হয়
#################### ############################

#!/bin/bash

# সার্ভার ডেটা ব্যাকআপ V1.0

#######################
# ব্যাকআপ কনফিগ
############# ###########

# মাস, তারিখ এবং দিন কনফিগার করুন
YEAR=`date +”%Y”` # 2008
MONTH=`date +”%m”`# 11
DAY=`date + "%d"` # 14
গতকাল=`তারিখ -তারিখ="গতকাল" +%Y-%m-%d` # 2008-11-13
গতকাল_DATE=`তারিখ -তারিখ=গতকাল + %d` # 13
গতকাল_মাস=`তারিখ -তারিখ=গতকাল +%m` # 11
গতকাল_বছর=`তারিখ -তারিখ=গতকাল +%Y`# 2008
আজ=`তারিখ + %Y-%m-%d` # 2008-11-14
TODAY_DATE=`date +%d` # 14

-এ ব্যাকআপ নেওয়ার জন্য #টি ডিরেক্টরি

DATA_BACKUP_PARENT_DIR=/opt/backup/DATA/ # <-- এটি আপনার ডেটা ব্যাকআপ ডিআরটি পরিবর্তন করুন
LOG_BACKUP_PARENT_DIR=/opt/backup/LOG/ # <-- এটি আপনার লগ ব্যাকআপ ডির পরিবর্তন করুন

# Apache ডকুমেন্ট রুট ডিরেক্টরি
APACHE_DOCROOT=/var/www/html/

# MySQL ডেটাবেস কনফিগারেশন
DB_IP=”localhost” # <-- আপনার ডাটাবেস সার্ভারের আইপিতে এটি পরিবর্তন করুন
DB_USER=”calvin” # <-- এটিকে আপনার ডাটাবেস ব্যবহারকারীর নাম পরিবর্তন করুন
DB_PASS=”calvin_password” # <-- এটিকে আপনার ডাটাবেস পাসওয়ার্ডে পরিবর্তন করুন
DB_NAME=”ক্লায়েন্টলিস্ট” # <-- এটিকে আপনার ডাটাবেসের নাম পরিবর্তন করুন

# Apache Log Dir
APACHE_LOG_DIR=”/var/log/httpd/” # <-- আপনার লগের পাথ ডেটাতে এটি পরিবর্তন করুন

# Application Files’ Dir
APP_FILES=”/home/calvin/application_files/” # <-- ডেটা ডিরেক্টরির পাথে এটি পরিবর্তন করুন

# Config Dir
CONFIG_DIR=”/etc/” # <-- এটিকে পাথ ডেটা ডিরেক্টরিতে পরিবর্তন করুন

# মেইল ​​রিপোর্ট ঠিকানা
EMAIL_ID=”you@youremailid.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}

####################################### ###
# লগ ব্যাকআপ
############################ #################

# তৈরি করুন এবং ব্যাকআপ ডিরেক্টরিতে যান
cd $LOG_BACKUP_PARENT_DIR/$YESTERDAY_YEAR/$YESTERDAY_MONTH
mkdir $YESTERDAY_DATE
cd $YESTERDAY_DATE

${APACHE_LOG_DIR}/access_log এ আমার জন্য # HTTPD লগ ব্যাকআপ
।${YESTERDAY}*; সিপি $i করবেন; অ্যাক্সেস_লগে আমার জন্য
সম্পন্ন হয়েছে।${YESTERDAY}*; জিজিপ করুন $i; সম্পন্ন

####################################### ###
# মেইল ​​বিজ্ঞপ্তি পাঠান
############################## ##################

# মেল বিজ্ঞপ্তি
du -shc $DATA_BACKUP_PARENT_DIR/$YEAR/$MONTH/$DAY/* | মেইল -s "${HOSTNAME}::ডেটা সম্পন্ন হয়েছে :)" ${EMAIL_ID}
du -shc $LOG_BACKUP_PARENT_DIR/$YESTERDAY_YEAR/$YESTERDAY_MONTH/$YESTERDAY_DATE/* | মেইল -s "${HOSTNAME}::LOG সম্পন্ন হয়েছে :)" ${EMAIL_ID}

এর জন্য ব্যাকআপ

####################################### ###
# কোড এখানে শেষ হয়
############################# #################

এই স্ক্রিপ্টটি একটি ডিরেক্টরিতে সংরক্ষণ করুন যেমন /home/calvin/scripts/backup.sh। ফাইলটিতে এক্সিকিউটেবল অনুমতি দিন:

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

এখন আপনি যেতে ভাল. আপনার কমান্ড লাইন আকারে স্ক্রিপ্ট চালান:

# /home/calvin/scripts/backup.sh

এছাড়াও আপনি ঐচ্ছিকভাবে এই স্ক্রিপ্টটিকে একটি ক্রোন জব হিসাবে যুক্ত করতে পারেন যাতে এটি আপনার পছন্দের সময়ে দৈনিক ভিত্তিতে কার্যকর করা হয়। আপনি যদি এই স্ক্রিপ্টটি প্রতিদিন 4 AM এ চালাতে চান তাহলে নিম্নলিখিতগুলি করুন:

# crontab -e

খোলা ফাইলটিতে একটি নতুন লাইন তৈরি করুন এবং নিম্নলিখিতগুলি যোগ করুন:

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

এই নাও. আপনার সার্ভার এখন আপনার ডেটা, ডাটাবেস, কনফিগারেশন ফাইল, অ্যাপ্লিকেশন ফাইল এবং লগ ফাইলগুলিকে /opt/backup-এ ব্যাকআপ করবে প্রতিদিন ভোর ৪ টায় - সম্পূর্ণ স্বয়ংক্রিয় লিনাক্স ব্যাকআপ! একটি দুর্দান্ত পরবর্তী পদক্ষেপ হল সেগুলিকে এনক্রিপ্ট করা :)


  1. কীভাবে একটি লিনাক্স ভার্চুয়ালাইজেশন ওয়ার্কস্টেশন তৈরি করবেন

  2. লিনাক্স ভিপিএস-এ কীভাবে CS:GO সার্ভার তৈরি করবেন

  3. লিনাক্সে কীভাবে সাধারণ শেল স্ক্রিপ্ট তৈরি করবেন

  4. লিনাক্সে কীভাবে বুটযোগ্য উইন্ডোজ 10 ইউএসবি তৈরি করবেন