rdiff- ব্যাকআপ - লিনাক্সের জন্য একটি রিমোট বর্ধমান ব্যাকআপ সরঞ্জাম


স্থানীয়/রিমোট ইনক্রিমেন্টাল ব্যাকআপের জন্য আরডিফ-ব্যাকআপ একটি শক্তিশালী এবং সহজেই ব্যবহারযোগ্য পাইথন স্ক্রিপ্ট যা লিনাক্স, ম্যাক ওএস এক্স বা সাইগউইনের মতো কোনও পসিক্স অপারেটিং সিস্টেমে কাজ করে। এটি একটি আয়না এবং একটি বাড়ন্ত ব্যাকআপ এর উল্লেখযোগ্য বৈশিষ্ট্য একত্রিত করে।

তাৎপর্যপূর্ণভাবে, এটি সাব-ডাইরেক্টরিগুলি, ডেভ ফাইলগুলি, হার্ড লিঙ্কগুলি এবং সমালোচনামূলক ফাইল অ্যাট্রিবিউটগুলি যেমন অনুমতি, ইউআইডি/গিডের মালিকানা, পরিবর্তনের সময়, বর্ধিত বৈশিষ্ট্য, এসিএল, এবং সংস্থানগুলি কাঁটাচামচ সংরক্ষণ করে। এটি পাইপের মাধ্যমে ব্যান্ডউইথ-দক্ষ মোডে, জনপ্রিয় আরএসসিএনসি ব্যাকআপ সরঞ্জামের মতো একইভাবে কাজ করতে পারে।

আরডিফ-ব্যাকআপ এসএসএইচ ব্যবহার করে একটি নেটওয়ার্কের মধ্যে একটিতে একটি ডিরেক্টরিকে ব্যাক আপ করে, বোঝায় যে এইভাবে ডেটা স্থানান্তর এনক্রিপ্ট করা নিরাপদ। টার্গেট ডিরেক্টরি (রিমোট সিস্টেমে) উত্স ডিরেক্টরিটির একটি সঠিক অনুলিপি শেষ হয়, তবে অতিরিক্ত বিপরীত ডিফগুলি লক্ষ্য ডিরেক্টরিতে একটি বিশেষ সাব-ডিরেক্টরিতে সঞ্চিত থাকে, কিছুক্ষণ আগে হারিয়ে যাওয়া ফাইলগুলি পুনরুদ্ধার করা সম্ভব করে তোলে।

লিনাক্সে আরডিফ-ব্যাকআপ ব্যবহার করতে আপনার সিস্টেমে আপনার নিম্নলিখিত প্যাকেজগুলি ইনস্টল করা দরকার:

  • পাইথন ভি 2.2 বা তার পরে
  • librsync v0.9.7 বা তার পরে
  • পাইলিব্যাকল এবং পাইকাস্ত্র পাইথন মডিউলগুলি যথাযথ তবে পসিক্স অ্যাক্সেস কন্ট্রোল লিস্টের জন্য (এসিএল) এবং বর্ধিত বৈশিষ্ট্য সমর্থন যথাক্রমে
  • আরডিফ-ব্যাকআপ-পরিসংখ্যানগুলির জন্য পাইথন ভি 2.4 বা তার পরে প্রয়োজন

লিনাক্সে কীভাবে আরডিফ-ব্যাকআপ ইনস্টল করবেন

গুরুত্বপূর্ণ: আপনি যদি কোনও নেটওয়ার্কের মাধ্যমে অপারেটিং করে থাকেন তবে আপনাকে আরডিফ-ব্যাকআপ উভয় সিস্টেমই ইনস্টল করতে হবে, সাধারণত আরডিফ-ব্যাকআপের উভয় ইনস্টলেশনই একই সংস্করণ হতে হবে।

স্ক্রিপ্টটি ইতিমধ্যে মূলধারার লিনাক্স ডিস্ট্রিবিউশনের অফিসিয়াল ভান্ডারগুলিতে উপস্থিত রয়েছে, কেবল rdiff-ব্যাকআপ ইনস্টল করার জন্য নীচের কমান্ডটি চালিয়ে যাবে এর নির্ভরতাগুলি:

উবুন্টু ফোকাল বা ডেবিয়ান বুলসিয়ে বা আরও নতুন (২.০ আছে) এ আরডিফ-ব্যাকআপ ইনস্টল করতে।

$ sudo apt-get update
$ sudo apt-get install librsync-dev rdiff-backup

পুরানো সংস্করণগুলির জন্য উবুন্টু ব্যাকপোর্টগুলিতে আরডিফ-ব্যাকআপ ইনস্টল করতে (একটি ব্যাকপোর্টেড ২.০ প্রয়োজন)।

$ sudo add-apt-repository ppa:rdiff-backup/rdiff-backup-backports
$ sudo apt update
$ sudo apt install rdiff-backu

CentOS এবং RHEL 8 (সিপিআর থেকে) এ আরডিফ-ব্যাকআপ ইনস্টল করতে।

$ sudo yum install yum-plugin-copr epel-release
$ sudo yum copr enable frankcrawford/rdiff-backup
$ sudo yum install rdiff-backup

CentOS এবং RHEL 7 (সিপিআর থেকে) এ আরডিফ-ব্যাকআপ ইনস্টল করতে।

$ sudo yum install yum-plugin-copr epel-release
$ sudo yum copr enable frankcrawford/rdiff-backup
$ sudo yum install rdiff-backup
$ sudo yum install centos-release-scl
$ sudo yum install rh-python36 gcc libacl-devel
$ scl enable rh-python36 bash
$ sudo pip install rdiff-backup pyxattr pylibacl
$ echo 'exec scl enable rh-python36 -- rdiff-backup "[email "' | sudo tee /usr/bin/rdiff-backup
$ sudo chmod +x /usr/bin/rdiff-backup

ফেডোরা 32+ এ আরডিফ-ব্যাকআপ ইনস্টল করতে।

$ sudo dnf install rdiff-backup

লিনাক্সে কীভাবে আরডিফ-ব্যাকআপ ব্যবহার করবেন

যেমনটি আমি আগেই উল্লেখ করেছি, rdiff-ব্যাকআপটি আপনার নেটওয়ার্কের রিমোট মেশিনে সংযোগ করতে এসএসএইচ ব্যবহার করে এবং এসএসএইচ-এ ডিফল্ট প্রমাণীকরণ হ'ল ব্যবহারকারীর নাম/পাসওয়ার্ড পদ্ধতি, যা সাধারণত মানুষের ইন্টারঅ্যাকশন প্রয়োজন।

যাইহোক, স্ক্রিপ্টগুলির সাথে স্বয়ংক্রিয় ব্যাকআপ এবং এর বাইরে যেমন স্বয়ংক্রিয় স্বয়ংক্রিয় করতে আপনাকে সহজে ফাইল সিঙ্ক্রোনাইজেশন বা স্থানান্তর কনফিগার করতে হবে।

একবার আপনি এসএসএইচ পাসওয়ার্ডহীন লগইন সেটআপ করার পরে, আপনি নিম্নলিখিত উদাহরণগুলি সহ স্ক্রিপ্টটি ব্যবহার শুরু করতে পারেন।

নীচের উদাহরণটি অন্য বিভাগে ব্যাকআপ ডিরেক্টরিতে /etc ডিরেক্টরিটিকে ব্যাকআপ করবে:

$ sudo rdiff-backup /etc /media/aaronkilik/Data/Backup/mint_etc.backup

কোনও নির্দিষ্ট ডিরেক্টরি পাশাপাশি এটির উপ-ডিরেক্টরিগুলি বাদ দিতে, আপনি - অন্তর্ভুক্ত বিকল্পটি নিম্নরূপ ব্যবহার করতে পারেন:

$ sudo rdiff-backup --exclude /etc/cockpit --exclude /etc/bluetooth /media/aaronkilik/Data/Backup/mint_etc.backup

আমরা নীচের মতো সমস্ত কোড ডিভাইস ফাইল, ফিফো ফাইল, সকেট ফাইল এবং প্রতীকী লিঙ্কগুলি - অন্তর্ভুক্ত-বিশেষ-ফাইলগুলি বিকল্পের সাথে অন্তর্ভুক্ত করতে পারি:

$ sudo rdiff-backup --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup

ফাইল নির্বাচনের জন্য আমরা আরও দুটি গুরুত্বপূর্ণ পতাকা সেট করতে পারি; --max-file-size আকার যা বাইট এবং --min-file-आकार আকারে প্রদত্ত আকারের চেয়ে বড় ফাইলগুলিকে বাদ দেয় যা এর চেয়ে ছোট ফাইলগুলি বাদ দেয় বাইটে প্রদত্ত আকার:

$ sudo rdiff-backup --max-file-size 5M --include-special-files --exclude /etc/cockpit /media/aaronkilik/Data/Backup/mint_etc.backup

এই বিভাগের উদ্দেশ্যে, আমরা ব্যবহার করব:

Remote Server (tecmint)	        : 192.168.56.102 
Local Backup Server (backup) 	: 192.168.56.10

যেমনটি আমরা আগেই বলেছি, আপনাকে অবশ্যই দুটি মেশিনেই rdiff-ব্যাক-এর একই সংস্করণ ইনস্টল করতে হবে, এখন নিম্নলিখিত দুটি মেশিনে সংস্করণটি পরীক্ষা করার চেষ্টা করুন:

$ rdiff-backup -V

ব্যাকআপ সার্ভারে একটি ডিরেক্টরি তৈরি করুন যা ব্যাকআপ ফাইলগুলিকে এভাবে সংরক্ষণ করবে:

# mkdir -p /backups

এখন ব্যাকআপ সার্ভার থেকে /তে দূরবর্তী লিনাক্স সার্ভারের 192.168.56.102 থেকে /var/log/ এবং /root ডিরেক্টরিগুলির ব্যাকআপ তৈরি করতে নিম্নলিখিত কমান্ডগুলি চালান ব্যাকআপস :

# rdiff-backup [email ::/var/log/ /backups/192.168.56.102_logs.backup
# rdiff-backup [email ::/root/ /backups/192.168.56.102_rootfiles.backup

নীচের স্ক্রিনশটটি দূরবর্তী সার্ভারে 192.168.56.102 এ মূল ফাইল এবং ব্যাকআপ করা ফাইলগুলিকে 192.168.56.10 দেখায়:

ব্যাকআপ ডিরেক্টরিতে স্ক্রিনশটের মতো তৈরি rdiff-ব্যাকআপ-ডেটা ডিরেক্টরি নোট করুন, এতে ব্যাকআপ প্রক্রিয়া এবং ইনক্রিমেন্টাল ফাইল সম্পর্কিত গুরুত্বপূর্ণ ডেটা রয়েছে।

এখন, 192.168.56.102 সার্ভারে, নীচের মতো দেখানো হয়েছে যে অতিরিক্ত ফাইলগুলি মূল ডিরেক্টরিতে যুক্ত করা হয়েছে:

পরিবর্তিত ডেটা পেতে আরও একবার ব্যাকআপ কমান্ডটি চালানো যাক, আমরা -v [0-9] (যেখানে সংখ্যাটি ভার্বোসিটি স্তর নির্দিষ্ট করে, ডিফল্টটি 3 যা নীরব থাকে) বিকল্পটি ব্যবহার করতে পারি ভার্বোসিটি বৈশিষ্ট্যটি সেট করুন:

# rdiff-backup -v4 [email ::/root/ /backups/192.168.56.102_rootfiles.backup 

এবং /backups/192.168.56.102_rootfiles.backup ডিরেক্টরিতে থাকা আংশিক বর্ধিত ব্যাকআপগুলির সংখ্যা এবং তারিখ তালিকা করতে আমরা চালাতে পারি:

# rdiff-backup -l /backups/192.168.56.102_rootfiles.backup/

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

এবং রেমোট-স্কিমা পতাকা আমাদেরকে একটি দূরবর্তী কম্পিউটারে সংযোগের বিকল্প পদ্ধতি নির্দিষ্ট করতে সক্ষম করে।

এখন, নীচের হিসাবে ব্যাকআপ সার্ভারে 192.168.56.10 এ ব্যাকআপ.শ স্ক্রিপ্ট তৈরি করে শুরু করা যাক:

# cd ~/bin
# vi backup.sh

স্ক্রিপ্ট ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন।

#!/bin/bash

#This is a rdiff-backup utility backup script

#Backup command
rdiff-backup --print-statistics --remote-schema 'ssh -C %s "sudo /usr/bin/rdiff-backup --server --restrict-read-only  /"'  [email ::/var/logs  /backups/192.168.56.102_logs.back

#Checking rdiff-backup command success/error
status=$?
if [ $status != 0 ]; then
        #append error message in ~/backup.log file
        echo "rdiff-backup exit Code: $status - Command Unsuccessful" >>~/backup.log;
        exit 1;
fi

#Remove incremental backup files older than one month
rdiff-backup --force --remove-older-than 1M /backups/192.168.56.102_logs.back

ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন, তারপরে ব্যাকআপ সার্ভারে স্ক্রিপ্টটি ক্রোনটাবতে যুক্ত করতে 192.168.56.10 ব্যবহার করুন:

# crontab -e

মধ্যরাতে আপনার ব্যাকআপ স্ক্রিপ্টটি প্রতিদিন চালানোর জন্য এই লাইনটি যুক্ত করুন:

0   0  *  *  * /root/bin/backup.sh > /dev/null 2>&1

ক্রোনট্যাব সংরক্ষণ করুন এবং এটি বন্ধ করুন, এখন আমরা ব্যাকআপ প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে সফল করেছি। এটি আশানুরূপ কাজ করছে তা নিশ্চিত করুন।

অতিরিক্ত তথ্য, পরিপূর্ণ ব্যবহারের বিকল্প এবং উদাহরণগুলির জন্য rdiff- ব্যাকআপ ম্যান পৃষ্ঠাটি পড়ুন:

# man rdiff-backup

আরডিফ-ব্যাকআপ হোমপেজ: http://www.nongnu.org/rdiff-backup/

আপাতত এই পর্যন্ত! এই টিউটোরিয়ালে, আমরা আপনাকে লিনাক্সে স্থানীয়/রিমোট ইনক্রিমেন্টাল ব্যাকআপের জন্য সহজেই ব্যবহারযোগ্য পাইথন স্ক্রিপ্টটি rdiff-ব্যাকআপ ইনস্টল করতে এবং কীভাবে ব্যবহার করব তা দেখিয়েছি। আপনার মতামত নীচের প্রতিক্রিয়া বিভাগের মাধ্যমে আমাদের সাথে ভাগ করুন।