Skill

ব্যাকআপ এবং পুনরুদ্ধার

ইউনিক্স/লিনাক্স (UNIX / LINUX) - Computer Programming

244

ব্যাকআপ এবং পুনরুদ্ধার (Backup and Recovery)

ব্যাকআপ এবং পুনরুদ্ধার সিস্টেমের গুরুত্বপূর্ণ অংশ, যা সিস্টেমের তথ্য এবং ডেটা সুরক্ষিত রাখতে সাহায্য করে। ব্যাকআপের মাধ্যমে গুরুত্বপূর্ণ ফাইল এবং ডেটা নিরাপদে সংরক্ষণ করা হয়, যাতে কোনো ধরনের বিপদ বা তথ্য হারানোর ক্ষেত্রে সেগুলি পুনরুদ্ধার করা যায়। এটি সিস্টেমের স্থিতিশীলতা এবং নিরাপত্তা নিশ্চিত করতে অত্যন্ত গুরুত্বপূর্ণ।


1. ব্যাকআপ কী?

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

ব্যাকআপের দুটি প্রধান ধরণ রয়েছে:

  • পূর্ণ ব্যাকআপ (Full Backup): সিস্টেমের সমস্ত ফাইল এবং ডেটার পূর্ণ কপি তৈরি করা হয়।
  • আংশিক ব্যাকআপ (Incremental or Differential Backup): পূর্ণ ব্যাকআপের পরে শুধুমাত্র পরিবর্তিত বা নতুন ফাইলের কপি তৈরি করা হয়।

2. ব্যাকআপ টুলস এবং কমান্ড

লিনাক্স/ইউনিক্স সিস্টেমে ব্যাকআপের জন্য বিভিন্ন টুলস এবং কমান্ড ব্যবহার করা যেতে পারে।

1. tar কমান্ড

tar (tape archive) কমান্ড ব্যাকআপ এবং আর্কাইভ তৈরির জন্য একটি জনপ্রিয় টুল। এটি ফাইল বা ডিরেক্টরি সংরক্ষণ করে একটি আর্কাইভ ফাইলে।

  • ব্যবহার:

    tar -cvf backup.tar /path/to/directory

    এই কমান্ডটি /path/to/directory ডিরেক্টরির সমস্ত ফাইল backup.tar ফাইলে আর্কাইভ করবে।

  • বিকল্প:
    • c: নতুন আর্কাইভ তৈরি করা
    • v: বিস্তারিত আউটপুট দেখানো
    • f: আর্কাইভ ফাইলের নাম সনাক্ত করা
  • ব্যাকআপ পুনরুদ্ধার:

    tar -xvf backup.tar

    এটি backup.tar আর্কাইভ থেকে সমস্ত ফাইল পুনরুদ্ধার করবে।

2. rsync কমান্ড

rsync একটি শক্তিশালী টুল যা স্থানীয় এবং রিমোট সিস্টেমে ফাইল এবং ডিরেক্টরি সিঙ্ক্রোনাইজ করতে ব্যবহৃত হয়। এটি ব্যাকআপ এবং পুনরুদ্ধারের জন্য আদর্শ, কারণ এটি দ্রুত এবং ইনক্রিমেন্টাল ব্যাকআপ সমর্থন করে।

  • ব্যবহার:

    rsync -av --progress /path/to/source /path/to/backup

    এটি /path/to/source থেকে সমস্ত ফাইল এবং ডিরেক্টরি /path/to/backup ডিরেক্টরিতে ব্যাকআপ করবে।

  • বিকল্প:
    • a: আর্কাইভ মোড (সবথেকে গুরুত্বপূর্ণ ফাইল বৈশিষ্ট্য সযত্নে সিঙ্ক্রোনাইজ করা)
    • v: বিস্তারিত আউটপুট দেখানো
    • --progress: প্রক্রিয়া চলাকালীন অগ্রগতি দেখানো

3. dd কমান্ড

dd কমান্ডটি ডিভাইস বা পার্টিশনের ক্লোন তৈরির জন্য ব্যবহৃত হয়। এটি সম্পূর্ণ ডিস্ক বা পার্টিশনের বিট-বাই-বিট কপি তৈরি করতে সহায়ক, যা সিস্টেমের পূর্ণ ব্যাকআপে ব্যবহৃত হতে পারে।

  • ব্যবহার:

    sudo dd if=/dev/sda of=/path/to/backup.img bs=64K

    এটি /dev/sda ডিস্কের পূর্ণ কপি তৈরি করবে backup.img ফাইলে। if হল ইনপুট ফাইল এবং of হল আউটপুট ফাইল।

4. cp কমান্ড

cp কমান্ড ব্যবহৃত হয় ফাইল বা ডিরেক্টরি কপি করার জন্য, যা একটি সহজ ব্যাকআপ অপশন হতে পারে।

  • ব্যবহার:

    cp -r /path/to/source /path/to/backup

    এটি /path/to/source ডিরেক্টরির সমস্ত ফাইল এবং সাব-ডিরেক্টরি কপি করে /path/to/backup এ রাখবে।


3. ব্যাকআপ পরিকল্পনা (Backup Strategy)

সিস্টেমের ব্যাকআপ প্রক্রিয়া একটি সুনির্দিষ্ট পরিকল্পনা অনুসরণ করা উচিত, যা ডেটার অখণ্ডতা বজায় রাখে এবং পুনরুদ্ধারের সময় সুবিধা প্রদান করে।

  • পূর্ণ ব্যাকআপ (Full Backup): সমস্ত ফাইল এবং ডেটার একটি পূর্ণ কপি তৈরি করা। এটি সবচেয়ে নিরাপদ, তবে সময় এবং স্থান বেশি নেয়।
  • ইনক্রিমেন্টাল ব্যাকআপ (Incremental Backup): পূর্ণ ব্যাকআপের পর শুধুমাত্র পরিবর্তিত বা নতুন ফাইলের কপি করা। এটি কম সময় নেয়, তবে পুনরুদ্ধার প্রক্রিয়া ধীর হতে পারে।
  • ডিফারেনশিয়াল ব্যাকআপ (Differential Backup): শেষ পূর্ণ ব্যাকআপ থেকে সব পরিবর্তিত ফাইল কপি করা। এটি ইনক্রিমেন্টাল ব্যাকআপের তুলনায় দ্রুত পুনরুদ্ধার প্রক্রিয়া প্রদান করে।
  • ব্যাকআপ ফ্রিকোয়েন্সি (Backup Frequency): ব্যাকআপের জন্য সঠিক সময়সূচী নির্ধারণ করুন। যেমন দৈনিক, সাপ্তাহিক বা মাসিক ব্যাকআপ।

4. পুনরুদ্ধার (Recovery)

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

1. ব্যাকআপ পুনরুদ্ধার করা

  • tar ব্যাকআপ পুনরুদ্ধার:

    tar -xvf backup.tar
  • rsync ব্যাকআপ পুনরুদ্ধার:

    rsync -av --progress /path/to/backup /path/to/restore

2. ডেটাবেস পুনরুদ্ধার

ডেটাবেস পুনরুদ্ধারের জন্য সাধারণত ডেটাবেস ম্যানেজমেন্ট সিস্টেম (DBMS) এর কমান্ড ব্যবহার করা হয়, যেমন MySQL, PostgreSQL

  • MySQL পুনরুদ্ধার:

    mysql -u [username] -p [database_name] < backup.sql
  • PostgreSQL পুনরুদ্ধার:

    psql -U [username] -d [database_name] -f backup.sql

5. ব্যাকআপ সংরক্ষণ এবং নিরাপত্তা

ব্যাকআপ সংরক্ষণ এবং নিরাপত্তা সুনির্দিষ্ট নির্দেশিকা অনুসরণ করা উচিত:

  • ক্রিপ্টো-গ্রাফিক্যাল নিরাপত্তা: ব্যাকআপে সংরক্ষিত ডেটা এনক্রিপ্ট করা উচিত, যাতে এটি নিরাপদ থাকে।
    • উদাহরণ: gpg কমান্ড দিয়ে ব্যাকআপ ফাইল এনক্রিপ্ট করা।
  • ব্যাকআপ রেপ্লিকেশন: ব্যাকআপটি বিভিন্ন স্থানে সংরক্ষণ করুন, যেমন লোকাল ডিস্ক এবং ক্লাউড।
  • ব্যাকআপের সময়সূচী: ব্যাকআপটি স্বয়ংক্রিয়ভাবে নির্দিষ্ট সময়ে হওয়া উচিত। এটি cron jobs ব্যবহার করে করা যায়।
  • ব্যাকআপ যাচাই (Backup Validation): নিয়মিতভাবে ব্যাকআপ যাচাই করা উচিত, যাতে নিশ্চিত করা যায় যে ব্যাকআপ সঠিকভাবে কাজ করছে এবং পুনরুদ্ধার করা সম্ভব।

সারসংক্ষেপ

ব্যাকআপ এবং পুনরুদ্ধার সিস্টেমের কার্যকারিতা এবং ডেটা অখণ্ডতা নিশ্চিত করতে অপরিহার্য। লিনাক্স/ইউনিক্স সিস্টেমে tar, rsync, dd ইত্যাদি টুলস ব্যাকআপ এবং পুনরুদ্ধারের জন্য ব্যবহৃত হয়। একটি শক্তিশালী ব্যাকআপ পরিকল্পনা এবং নিরাপত্তা নিশ্চিত করে সিস্টেমের রিকভারি প্রক্রিয়া সহজ এবং দ্রুত হয়।

Content added By

ব্যাকআপের গুরুত্ব এবং প্রয়োজনীয়তা

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


১. ব্যাকআপের গুরুত্ব

  1. ডেটা ক্ষতি প্রতিরোধ:
    • ডেটা হারানো বা ক্ষতিগ্রস্ত হওয়া যেকোনো কারণে একটি সিস্টেমের গুরুত্বপূর্ণ ডেটা অনির্দিষ্টকালের জন্য হারিয়ে যেতে পারে। ব্যাকআপের মাধ্যমে এই ধরনের পরিস্থিতি এড়ানো সম্ভব। উদাহরণস্বরূপ, হার্ডড্রাইভের দুর্ঘটনাক্রমে ত্রুটি, ভাইরাস আক্রমণ, বা সিস্টেম ক্র্যাশের সময় ব্যাকআপ ডেটার কপি ব্যবহার করে পুনরুদ্ধার করা যায়।
  2. সিস্টেম ক্র্যাশ থেকে পুনরুদ্ধার:
    • একটি সিস্টেম ক্র্যাশ বা সফটওয়্যার বাগের কারণে গুরুত্বপূর্ণ তথ্য ক্ষতিগ্রস্ত হতে পারে। ব্যাকআপ নিশ্চিত করে যে, সিস্টেম পুনরায় চালু বা মেরামত করার সময় গুরুত্বপূর্ণ ডেটা হারিয়ে যাবে না।
  3. ব্যবসার ধারাবাহিকতা (Business Continuity):
    • ব্যবসায়ী বা প্রতিষ্ঠানে ডেটা হারানো হলে গ্রাহক সম্পর্ক, আর্থিক ক্ষতি এবং অন্যান্য বিপর্যয় ঘটতে পারে। ব্যাকআপের মাধ্যমে দ্রুত ডেটা পুনরুদ্ধার করা সম্ভব, যা ব্যবসার ধারাবাহিকতা বজায় রাখতে সাহায্য করে।
  4. ব্যবহারকারী ত্রুটি থেকে সুরক্ষা:
    • অনেক সময় ব্যবহারকারী অজান্তে গুরুত্বপূর্ণ ফাইল মুছে ফেলতে পারে। ব্যাকআপের মাধ্যমে সেই ফাইল পুনরুদ্ধার করা সম্ভব।
  5. ডেটার সুরক্ষা:
    • ব্যাকআপের মাধ্যমে আপনার ডেটা সুরক্ষিত থাকে এবং এটি দুর্নীতি, সাইবার আক্রমণ বা অবৈধ অ্যাক্সেসের বিরুদ্ধে রক্ষা পায়।

২. ব্যাকআপের প্রয়োজনীয়তা

  1. বিস্তারিত ডেটা পুনরুদ্ধার:
    • ব্যাকআপ শুধুমাত্র গুরুত্বপূর্ণ ফাইল নয়, বরং সম্পূর্ণ সিস্টেমের অবস্থা, কনফিগারেশন এবং অপারেটিং সিস্টেমের অবস্থাও সংরক্ষণ করতে পারে। সিস্টেম পুনরুদ্ধারের জন্য ব্যাকআপ গুরুত্বপূর্ণ হতে পারে, বিশেষত যখন নতুন হার্ডওয়্যার বা সফটওয়্যার ইনস্টল করা হয়।
  2. ডেটা রিকভারি (Data Recovery):
    • ব্যাকআপের মাধ্যমে একটি সিস্টেমে যেকোনো ধরনের ডেটার হারানো বা ক্ষতির পর তা দ্রুত পুনরুদ্ধার করা সম্ভব। এটি ব্যবহারকারীদের দ্রুত সময়ের মধ্যে তাদের কাজ চালিয়ে যেতে সাহায্য করে।
  3. মুলতুবি প্রকল্প বা ডেটার দীর্ঘমেয়াদী সংরক্ষণ:
    • বেশ কিছু ডেটা বা ফাইল দীর্ঘমেয়াদীভাবে সংরক্ষণ করতে হতে পারে, যেমন ব্যবসার আর্থিক রেকর্ড, স্বাস্থ্য সংক্রান্ত ডেটা ইত্যাদি। ব্যাকআপ একটি সুরক্ষিত উপায় যা সেই ডেটাকে ভবিষ্যতের জন্য সংরক্ষণ করতে সহায়ক।
  4. অনাকাঙ্ক্ষিত পরিস্থিতি থেকে সুরক্ষা:
    • প্রকৃত পরিস্থিতি যেমন আগুন, বন্যা, ভূমিকম্প বা অন্যান্য প্রাকৃতিক দুর্যোগের সময় ব্যাকআপ ডেটা অন্যত্র নিরাপদে সংরক্ষণ করা প্রয়োজন। ক্লাউড বা অফসাইট ব্যাকআপ এখানে সাহায্য করে।
  5. কমপ্লায়েন্স এবং আইনি চাহিদা:
    • অনেক ক্ষেত্রেই সিস্টেমের ডেটা আইনগতভাবে কিছু নির্দিষ্ট সময়কাল পর্যন্ত সংরক্ষণ করতে হয়, যেমন স্বাস্থ্য সংক্রান্ত ডেটা বা আর্থিক রেকর্ড। ব্যাকআপ নিশ্চিত করে যে ডেটার আইনি চাহিদা পূর্ণ হচ্ছে।

৩. ব্যাকআপের বিভিন্ন ধরনের পদ্ধতি

  1. ফুল ব্যাকআপ (Full Backup):

    • ফুল ব্যাকআপ হল পুরো সিস্টেমের বা ডেটার সম্পূর্ণ কপি তৈরি করা। এটি সর্বাধিক নিরাপদ এবং পুনরুদ্ধারযোগ্য ব্যাকআপ পদ্ধতি হলেও এতে বেশি সময় এবং ডিস্ক স্পেস লাগে।

    উদাহরণ:

    • প্রতিটি ফাইল, ডিরেক্টরি এবং সিস্টেম কনফিগারেশন এর পূর্ণ কপি তৈরি করা।
  2. ইনক্রিমেন্টাল ব্যাকআপ (Incremental Backup):

    • ইনক্রিমেন্টাল ব্যাকআপ শুধুমাত্র সেই ফাইলগুলির কপি তৈরি করে যা পূর্ববর্তী ব্যাকআপের পর পরিবর্তিত হয়েছে বা নতুন হয়েছে। এটি ব্যাকআপের সময় এবং স্পেস সাশ্রয়ী।

    উদাহরণ:

    • প্রথমে একটি ফুল ব্যাকআপ এবং তারপর শুধুমাত্র পরিবর্তিত ফাইলগুলির কপি তৈরি করা।
  3. ডেল্টা ব্যাকআপ (Differential Backup):

    • ডেল্টা ব্যাকআপ প্রথম ব্যাকআপের পর থেকে সকল পরিবর্তিত ফাইলগুলির কপি তৈরি করে। এটি ইনক্রিমেন্টাল ব্যাকআপের চেয়ে বেশি স্পেস নেয়, তবে পুনরুদ্ধার প্রক্রিয়া সহজ।

    উদাহরণ:

    • প্রথমে একটি ফুল ব্যাকআপ এবং তারপর গত ব্যাকআপের পর সমস্ত পরিবর্তিত ফাইল কপি করা।
  4. অফসাইট ব্যাকআপ (Offsite Backup):

    • অফসাইট ব্যাকআপ এমন একটি পদ্ধতি যেখানে ব্যাকআপটি সিস্টেমের মূল অবস্থান থেকে আলাদা অবস্থানে রাখা হয়, যেমন ক্লাউড স্টোরেজ বা অন্য একটি শারীরিক স্থান।

    উদাহরণ:

    • গুগল ড্রাইভ, অ্যামাজন S3, বা অন্য ক্লাউড সেবা ব্যবহার করে ডেটা ব্যাকআপ করা।
  5. ক্লাউড ব্যাকআপ (Cloud Backup):

    • ক্লাউড ব্যাকআপ হল একটি পদ্ধতি যেখানে আপনার ডেটা ইন্টারনেটের মাধ্যমে একটি ক্লাউড সিস্টেমে সংরক্ষিত থাকে। এটি দ্রুত এবং নিরাপদ, এবং স্থানীয় হার্ডওয়্যার বা সার্ভারের ত্রুটির বিরুদ্ধে সুরক্ষা প্রদান করে।

    উদাহরণ:

    • Dropbox, Google Drive, Microsoft OneDrive এর মতো সেবা।

৪. ব্যাকআপ কৌশল

  1. রেগুলার ব্যাকআপ:
    • নিয়মিত ব্যাকআপ সময়সূচি তৈরি করুন, যেমন দৈনিক, সাপ্তাহিক বা মাসিক ব্যাকআপ।
  2. বহু ব্যাকআপ কপি:
    • একাধিক ব্যাকআপ কপি সংরক্ষণ করুন, যেমন একটি স্থানীয় এবং একটি ক্লাউড ব্যাকআপ।
  3. বহু অবস্থানে ব্যাকআপ:
    • ব্যাকআপগুলি আলাদা স্থানে সংরক্ষণ করুন, যেমন একটি স্থানীয় ডিস্ক এবং ক্লাউডে।

সারসংক্ষেপ

  • ব্যাকআপ হল একটি গুরুত্বপূর্ণ প্রক্রিয়া যা সিস্টেমের ডেটা সুরক্ষা নিশ্চিত করে। এটি ডেটার হারানো, ক্ষতি বা সিস্টেম ক্র্যাশের সময় পুনরুদ্ধার করতে সহায়ক।
  • ব্যাকআপের পদ্ধতিগুলি বিভিন্ন ধরনের হতে পারে, যেমন ফুল ব্যাকআপ, ইনক্রিমেন্টাল ব্যাকআপ, এবং ডেল্টা ব্যাকআপ
  • অফসাইট ব্যাকআপ এবং ক্লাউড ব্যাকআপ সিস্টেমের জন্য নিরাপত্তা এবং স্থিতিশীলতা বাড়ায়।
  • নিয়মিত ব্যাকআপ কৌশল এবং সঠিক ব্যাকআপ পরিকল্পনা সিস্টেমের দীর্ঘমেয়াদী সুরক্ষা এবং নিরাপত্তা নিশ্চিত করতে গুরুত্বপূর্ণ।

ব্যাকআপ সিস্টেম ব্যবহার করে আপনি আপনার গুরুত্বপূর্ণ ডেটাকে নিরাপদ রাখতে পারেন এবং যেকোনো ধরনের বিপদ বা ক্ষতির ক্ষেত্রে ডেটা পুনরুদ্ধার করতে পারেন।

Content added By

tar ব্যবহার করে ব্যাকআপ করা

tar (tape archive) একটি কমান্ড লাইন টুল যা ফাইল এবং ডিরেক্টরি সংরক্ষণ, কমপ্রেস এবং আর্কাইভ করার জন্য ব্যবহৃত হয়। এটি ব্যাকআপ তৈরির জন্য একটি শক্তিশালী এবং সাধারণভাবে ব্যবহৃত টুল। tar কমান্ডের সাহায্যে আপনি ফাইলগুলো একত্রে আর্কাইভ করতে পারেন এবং পরে সেগুলি পুনরুদ্ধার (extract) করতে পারেন।

tar কমান্ডের মূল সিনট্যাক্স:

tar [options] archive_name files
  • archive_name: আর্কাইভ ফাইলের নাম (যেমন .tar, .tar.gz, .tar.bz2 ইত্যাদি)।
  • files: আর্কাইভ করার জন্য ফাইল বা ডিরেক্টরি।

ব্যাকআপ তৈরি করার জন্য tar কমান্ড

ব্যাকআপ তৈরির জন্য tar কমান্ডের কিছু সাধারণ অপশন:

  • c: নতুন আর্কাইভ তৈরি (create)
  • v: প্রসেসিং চলাকালীন ফাইলগুলো প্রদর্শন (verbose)
  • f: আর্কাইভ ফাইলের নাম উল্লেখ (file)
  • z: আর্কাইভ ফাইলটি gzip দ্বারা কমপ্রেস করুন
  • j: আর্কাইভ ফাইলটি bzip2 দ্বারা কমপ্রেস করুন
  • C: একটি নির্দিষ্ট ডিরেক্টরিতে আর্কাইভ করা

১. আর্কাইভ তৈরি করা (ব্যাকআপ করা)

  1. একটি নির্দিষ্ট ডিরেক্টরি এবং ফাইল ব্যাকআপ করা:
    • কমান্ড উদাহরণ:

      tar cvf backup.tar /home/user/Documents

      এটি /home/user/Documents ডিরেক্টরির সমস্ত ফাইল এবং সাব-ডিরেক্টরি backup.tar নামক আর্কাইভ ফাইলে ব্যাকআপ করবে।

  2. gzip কমপ্রেসন সহ ব্যাকআপ তৈরি করা:
    • কমান্ড উদাহরণ:

      tar czvf backup.tar.gz /home/user/Documents

      এখানে z অপশন দ্বারা আর্কাইভ ফাইলটি gzip কমপ্রেসড হবে, এবং ফাইলটির এক্সটেনশন .tar.gz হবে।

  3. bzip2 কমপ্রেসন সহ ব্যাকআপ তৈরি করা:
    • কমান্ড উদাহরণ:

      tar cjvf backup.tar.bz2 /home/user/Documents

      এখানে j অপশন দ্বারা আর্কাইভ ফাইলটি bzip2 কমপ্রেসড হবে, এবং ফাইলটির এক্সটেনশন .tar.bz2 হবে।

  4. একাধিক ডিরেক্টরি এবং ফাইল ব্যাকআপ করা:
    • কমান্ড উদাহরণ:

      tar cvf backup.tar /home/user/Documents /home/user/Pictures

      এটি /home/user/Documents এবং /home/user/Pictures ডিরেক্টরির সমস্ত ফাইল এবং সাব-ডিরেক্টরি backup.tar আর্কাইভ ফাইলে ব্যাকআপ করবে।


২. ব্যাকআপ ফাইলের বিষয়বস্তু দেখুন

আপনি যদি আর্কাইভ ফাইলটি তৈরি করার পরে তার বিষয়বস্তু দেখতে চান, তাহলে t অপশন ব্যবহার করতে পারেন।

  1. আর্কাইভ ফাইলের বিষয়বস্তু দেখুন:
    • কমান্ড উদাহরণ:

      tar tvf backup.tar

      এটি backup.tar আর্কাইভ ফাইলের সমস্ত ফাইল এবং ডিরেক্টরি তালিকা প্রদর্শন করবে।

  2. gzip কমপ্রেসড আর্কাইভের বিষয়বস্তু দেখুন:
    • কমান্ড উদাহরণ:

      tar tzvf backup.tar.gz

      এটি backup.tar.gz আর্কাইভের বিষয়বস্তু দেখাবে।


৩. ব্যাকআপ রিস্টোর করা (পুনরুদ্ধার করা)

আপনি যদি আর্কাইভ থেকে ফাইল বা ডিরেক্টরি পুনরুদ্ধার করতে চান, তবে x (extract) অপশন ব্যবহার করবেন।

  1. আর্কাইভ থেকে ফাইল বা ডিরেক্টরি রিস্টোর করা:
    • কমান্ড উদাহরণ:

      tar xvf backup.tar

      এটি backup.tar আর্কাইভ থেকে সমস্ত ফাইল এবং ডিরেক্টরি পুনরুদ্ধার করবে।

  2. gzip কমপ্রেসড আর্কাইভ থেকে রিস্টোর করা:
    • কমান্ড উদাহরণ:

      tar xzvf backup.tar.gz

      এটি backup.tar.gz আর্কাইভ থেকে সমস্ত ফাইল পুনরুদ্ধার করবে।

  3. একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি রিস্টোর করা:
    • কমান্ড উদাহরণ:

      tar xvf backup.tar /home/user/Documents

      এটি backup.tar আর্কাইভ থেকে শুধুমাত্র /home/user/Documents ডিরেক্টরি পুনরুদ্ধার করবে।

  4. পুনরুদ্ধার করতে একটি নির্দিষ্ট ডিরেক্টরিতে ফাইলগুলি রাখুন:
    • কমান্ড উদাহরণ:

      tar xvf backup.tar -C /path/to/destination

      এটি backup.tar আর্কাইভ থেকে ফাইলগুলি /path/to/destination ডিরেক্টরিতে পুনরুদ্ধার করবে।


সারসংক্ষেপ

অপারেশনকমান্ডব্যাখ্যা
ব্যাকআপ তৈরিtar cvf backup.tar /home/user/Documents/home/user/Documents ডিরেক্টরি ব্যাকআপ করবে।
gzip সহ ব্যাকআপtar czvf backup.tar.gz /home/user/Documentsgzip কমপ্রেসন সহ ব্যাকআপ তৈরি করবে।
bzip2 সহ ব্যাকআপtar cjvf backup.tar.bz2 /home/user/Documentsbzip2 কমপ্রেসন সহ ব্যাকআপ তৈরি করবে।
আর্কাইভ ফাইলের বিষয়বস্তু দেখুনtar tvf backup.tarআর্কাইভ ফাইলের বিষয়বস্তু দেখাবে।
ব্যাকআপ রিস্টোর করাtar xvf backup.tarআর্কাইভ থেকে ব্যাকআপ রিস্টোর করবে।
gzip কমপ্রেসড ফাইল রিস্টোরtar xzvf backup.tar.gzgzip কমপ্রেসড ফাইল থেকে ব্যাকআপ রিস্টোর করবে।

tar হল একটি শক্তিশালী এবং বহুল ব্যবহৃত টুল যা ফাইল এবং ডিরেক্টরি ব্যাকআপ, সংরক্ষণ এবং পুনরুদ্ধারের জন্য ব্যবহৃত হয়। এটি কমপ্রেসন অপশন সহ ফাইল আর্কাইভ করার জন্য উপযুক্ত।

Content added By

rsync দিয়ে ফাইল সিঙ্ক্রোনাইজেশন

rsync একটি শক্তিশালী এবং জনপ্রিয় কমান্ড-লাইন টুল যা ফাইল এবং ডিরেক্টরির সিঙ্ক্রোনাইজেশন বা বিকল্প কপি করার জন্য ব্যবহৃত হয়। এটি দ্রুত এবং দক্ষতার সাথে ফাইল স্থানান্তর করতে সাহায্য করে, বিশেষ করে যখন দুটি সিস্টেমের মধ্যে বড় বড় ডেটা স্থানান্তর করা প্রয়োজন। rsync ফাইলের পরিবর্তিত অংশ গুলোই কপি করে, তাই এটি কম ব্যান্ডউইথ ব্যবহার করে এবং সিস্টেমের দক্ষতা বৃদ্ধি করে।


rsync কমান্ডের মৌলিক গঠন

rsync [অপশন] source destination
  • source: সিঙ্ক্রোনাইজ বা কপি করা ফাইল/ডিরেক্টরি।
  • destination: ফাইল বা ডিরেক্টরি যেখানে ফাইল কপি হবে।

1. ফাইল সিঙ্ক্রোনাইজেশনের সাধারণ উদাহরণ

১.১: লোকাল ডিরেক্টরি থেকে লোকাল ডিরেকটরিতে ফাইল সিঙ্ক্রোনাইজ করা

rsync -av /path/to/source/ /path/to/destination/

এটি source ডিরেক্টরি থেকে destination ডিরেক্টরিতে ফাইল এবং সাব-ডিরেক্টরি সিঙ্ক্রোনাইজ করবে। এখানে:

  • -a: আর্কাইভ মোড, যা রিকার্সিভ সিঙ্ক্রোনাইজেশন করে, ফাইলের মালিকানা, অনুমতি, টাইমস্ট্যাম্প ইত্যাদি সংরক্ষণ করে।
  • -v:Verbose মোড, যা সিঙ্ক্রোনাইজেশনের সময় প্রতিটি ফাইলের নাম এবং স্থানান্তরের অগ্রগতি দেখায়।

১.২: শুধুমাত্র পরিবর্তিত বা নতুন ফাইল কপি করা

rsync -av --ignore-existing /path/to/source/ /path/to/destination/

এটি source ডিরেক্টরি থেকে destination ডিরেক্টরিতে শুধুমাত্র নতুন বা পরিবর্তিত ফাইল কপি করবে, পুরানো ফাইলের কপি করবে না।

১.৩: ফাইলের আর্কাইভ তৈরির জন্য

rsync -av /path/to/source/ /path/to/backup/

এটি source ডিরেক্টরি থেকে ফাইলের আর্কাইভ তৈরি করবে এবং backup ডিরেক্টরিতে কপি করবে।


2. রিমোট সিস্টেমের মধ্যে ফাইল সিঙ্ক্রোনাইজেশন

rsync দিয়ে আপনি দূরবর্তী সিস্টেমের মধ্যে ফাইল সিঙ্ক্রোনাইজ করতে পারেন, যেখানে SSH প্রোটোকল ব্যবহৃত হয়।

২.১: লোকাল সিস্টেম থেকে রিমোট সিস্টেমে ফাইল কপি করা

rsync -av /path/to/local/ user@remote:/path/to/remote/

এটি আপনার লোকাল /path/to/local/ ডিরেক্টরি থেকে রিমোট সিস্টেমের /path/to/remote/ ডিরেক্টরিতে ফাইল কপি করবে।

২.২: রিমোট সিস্টেম থেকে লোকাল সিস্টেমে ফাইল কপি করা

rsync -av user@remote:/path/to/remote/ /path/to/local/

এটি রিমোট সিস্টেমের /path/to/remote/ ডিরেক্টরি থেকে আপনার লোকাল সিস্টেমের /path/to/local/ ডিরেক্টরিতে ফাইল কপি করবে।

২.৩: রিমোট সিস্টেমে SSH এর মাধ্যমে সিঙ্ক্রোনাইজেশন

rsync -avz -e ssh /path/to/local/ user@remote:/path/to/remote/

এটি -e ssh অপশন দিয়ে SSH প্রোটোকল ব্যবহার করে রিমোট সিস্টেমে ফাইল স্থানান্তর করবে এবং -z অপশনটি ফাইল স্থানান্তরের সময় কম্প্রেসন করতে সাহায্য করবে।


3. rsync এর বিভিন্ন অপশন

  • -a (archive): রিকার্সিভ সিঙ্ক্রোনাইজেশন, ফাইলের মালিকানা, অনুমতি, টাইমস্ট্যাম্প ইত্যাদি সংরক্ষণ।
  • -v (verbose): সিঙ্ক্রোনাইজেশন প্রক্রিয়ার বিস্তারিত আউটপুট দেখানো।
  • -z (compress): ফাইল স্থানান্তরের সময় ডেটা কম্প্রেসন করা, যা ব্যান্ডউইথ বাঁচায়।
  • --delete: ডেস্টিনেশন ডিরেক্টরি থেকে অতিরিক্ত বা মুছে ফেলা ফাইলগুলো মুছে ফেলা।

    rsync -av --delete /path/to/source/ /path/to/destination/
  • -n (dry-run): কমান্ডটি রান করার আগে পরিবর্তন বা ফাইল স্থানান্তরের প্রভাব দেখতে।

    rsync -avn /path/to/source/ /path/to/destination/

4. rsync এর ব্যবহারিক উদাহরণ

৪.১: শুধু নতুন বা পরিবর্তিত ফাইল সিঙ্ক্রোনাইজ করা

rsync -av --ignore-existing /path/to/source/ /path/to/destination/

এটি শুধু নতুন বা পরিবর্তিত ফাইল destination ডিরেক্টরিতে স্থানান্তর করবে, পুরনো ফাইল কপি করবে না।

৪.২: আর্কাইভ তৈরি করার জন্য ফাইল সিঙ্ক্রোনাইজেশন

rsync -av /home/user/documents/ /mnt/backup/documents/

এটি /home/user/documents/ ডিরেক্টরি থেকে /mnt/backup/documents/ ডিরেক্টরিতে ফাইল সিঙ্ক্রোনাইজ করবে।

৪.৩: rsync দিয়ে একাধিক ডিরেক্টরি সিঙ্ক্রোনাইজ করা

rsync -av /path/to/source1/ /path/to/source2/ /path/to/destination/

এটি দুটি সোর্স ডিরেক্টরি থেকে /path/to/destination/ ডিরেক্টরিতে ফাইল সিঙ্ক্রোনাইজ করবে।

৪.৪: রিমোট সিস্টেমে ফাইল কপি এবং কম্প্রেসন

rsync -avz -e ssh /path/to/local/ user@remote:/path/to/remote/

এটি রিমোট সিস্টেমে ফাইল স্থানান্তরের সময় ডেটা কম্প্রেসনও করবে, যাতে ব্যান্ডউইথ সাশ্রয় হয়।


সারসংক্ষেপ

rsync একটি অত্যন্ত শক্তিশালী এবং কার্যকর টুল যা ফাইল সিঙ্ক্রোনাইজেশন এবং স্থানান্তর করার জন্য ব্যবহৃত হয়। এটি বিশেষভাবে কার্যকর যখন আপনি একই বা বিভিন্ন সিস্টেমের মধ্যে বড় বড় ডেটা স্থানান্তর করতে চান, এবং এটি শুধুমাত্র পরিবর্তিত ফাইলগুলি কপি করে, যা ব্যান্ডউইথ এবং সময় সাশ্রয় করে। rsync কমান্ডের মাধ্যমে আপনি সহজেই স্থানীয় এবং রিমোট সিস্টেমে ফাইল সিঙ্ক্রোনাইজ করতে পারেন এবং প্রয়োজনীয় অপশন দিয়ে সিস্টেমের পারফরম্যান্স এবং কার্যকারিতা বৃদ্ধি করতে পারেন।

Content added By

Cron ব্যবহার করে স্বয়ংক্রিয় ব্যাকআপ

Cron হল একটি UNIX এবং LINUX সিস্টেমের টাস্ক শিডিউলার যা নির্দিষ্ট সময় অন্তর কমান্ড বা স্ক্রিপ্ট চালানোর জন্য ব্যবহৃত হয়। এটি স্বয়ংক্রিয় ব্যাকআপ তৈরির জন্য একটি দুর্দান্ত উপায়, যেখানে আপনি একটি নির্দিষ্ট সময়সূচী অনুসারে আপনার ফাইল এবং ডেটাবেস ব্যাকআপ করতে পারেন।

এখানে আমি কিভাবে cron ব্যবহার করে স্বয়ংক্রিয় ব্যাকআপ সিস্টেম তৈরি করবেন, তার একটি ধাপে ধাপে গাইড প্রদান করছি।


1. ব্যাকআপ স্ক্রিপ্ট তৈরি করা

প্রথমে আপনাকে একটি ব্যাকআপ স্ক্রিপ্ট তৈরি করতে হবে, যা ব্যাকআপের কাজটি করবে। উদাহরণস্বরূপ, একটি ফোল্ডারের ব্যাকআপ নেওয়া:

ব্যাকআপ স্ক্রিপ্ট উদাহরণ (backup.sh):

#!/bin/bash

# ব্যাকআপের সোর্স এবং গন্তব্য ডিরেক্টরি
SOURCE_DIR="/home/user/data"
BACKUP_DIR="/home/user/backup"

# বর্তমান তারিখ
DATE=$(date +"%Y-%m-%d-%H%M")

# ব্যাকআপ ফাইল নাম
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"

# ব্যাকআপ তৈরি করা
tar -czf $BACKUP_FILE $SOURCE_DIR

# লগ ফাইল তৈরি করা
echo "Backup of $SOURCE_DIR completed on $DATE" >> /home/user/backup/backup.log

এটি একটি সাধারণ ব্যাকআপ স্ক্রিপ্ট যা /home/user/data ফোল্ডারের সমস্ত ডেটা tar.gz ফরম্যাটে /home/user/backup ফোল্ডারে ব্যাকআপ করবে। এছাড়াও, ব্যাকআপের সময় একটি লগ ফাইল তৈরি করবে।

ব্যাকআপ স্ক্রিপ্টের অনুমতি পরিবর্তন:

chmod +x /home/user/backup.sh

এটি স্ক্রিপ্টটি চালানোর অনুমতি প্রদান করবে।


2. Cron Job তৈরি করা

এখন আপনাকে একটি cron job তৈরি করতে হবে যাতে এটি নির্দিষ্ট সময়ে স্বয়ংক্রিয়ভাবে ব্যাকআপ চালায়।

ক্রন ট্যাব ফাইল খুলুন:

crontab -e

এটি আপনার ক্রন ট্যাব ফাইল খুলবে, যেখানে আপনি নতুন ক্রন জব যুক্ত করতে পারেন।

উদাহরণস্বরূপ ক্রন জব:

0 2 * * * /home/user/backup.sh

এই ক্রন জবটি প্রতিদিন সকাল ২:০০ AM সময়ে /home/user/backup.sh স্ক্রিপ্টটি চালাবে।

ক্রন জব সিনট্যাক্স ব্যাখ্যা:
  • 0 2 * * *: এটি শিডিউল সময় নির্ধারণ করে, যেখানে:
    • 0: মিনিটের প্রথম সেকেন্ড (0 থেকে 59)
    • 2: ঘণ্টার সময় (0 থেকে 23)
    • *: দিন (1 থেকে 31)
    • *: মাস (1 থেকে 12)
    • *: সপ্তাহের দিন (0 থেকে 6, 0 হল রবিবার)

এই ক্রন টাস্কটি প্রতিদিন ২:০০ AM-এ স্ক্রিপ্টটি চালাবে।


3. ব্যাকআপের স্থানীয় ব্যাকআপ ফাইল এবং লগ ফাইল চেক করা

ব্যাকআপ স্ক্রিপ্টের পরবর্তী আউটপুট এবং ত্রুটিগুলি /home/user/backup/backup.log ফাইলে লগ হবে। আপনি লগ ফাইল দেখতে পারেন:

cat /home/user/backup/backup.log

এছাড়া, আপনি /home/user/backup ডিরেক্টরিতেও আপনার ব্যাকআপ ফাইল চেক করতে পারবেন। প্রতিটি ব্যাকআপ ফাইলের নাম হবে backup-YYYY-MM-DD-HHMM.tar.gz, যেখানে YYYY-MM-DD-HHMM তারিখ এবং সময়ের প্রতিনিধিত্ব করবে।


4. ব্যাকআপের অটো ক্লিনআপ (অপশনাল)

ব্যাকআপ ফাইলগুলি সময়ের সাথে বাড়তে পারে, তাই পুরানো ব্যাকআপগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলার জন্য একটি ক্লিনআপ স্ক্রিপ্ট তৈরি করা যেতে পারে। উদাহরণস্বরূপ, আপনি ৩০ দিনের পুরানো ব্যাকআপ মুছে ফেলার জন্য একটি স্ক্রিপ্ট তৈরি করতে পারেন:

ক্লিনআপ স্ক্রিপ্ট উদাহরণ (cleanup.sh):

#!/bin/bash

# ব্যাকআপ ডিরেক্টরি
BACKUP_DIR="/home/user/backup"

# 30 দিনের পুরানো ব্যাকআপ মুছে ফেলা
find $BACKUP_DIR -type f -name "*.tar.gz" -mtime +30 -exec rm -f {} \;

# ক্লিনআপ লগ
echo "Cleanup completed on $(date)" >> /home/user/backup/cleanup.log

এই স্ক্রিপ্টটি ৩০ দিন পুরানো ব্যাকআপগুলি মুছে ফেলবে।

ক্লিনআপ স্ক্রিপ্টের অনুমতি পরিবর্তন:

chmod +x /home/user/cleanup.sh

ক্রন ট্যাবে ক্লিনআপ স্ক্রিপ্ট যুক্ত করা:

crontab -e
0 3 * * * /home/user/cleanup.sh

এটি প্রতিদিন ৩:০০ AM-এ পুরানো ব্যাকআপগুলি মুছে ফেলবে।


সারসংক্ষেপ

Cron এর মাধ্যমে আপনি সহজে এবং স্বয়ংক্রিয়ভাবে ব্যাকআপ নিতে পারেন। একটি cron job সেটআপ করে আপনি আপনার ব্যাকআপ স্ক্রিপ্টটি একটি নির্দিষ্ট সময়ে চালাতে পারেন। পাশাপাশি, আপনি স্ক্রিপ্টের লগ এবং অটোমেটিক ক্লিনআপ ফিচার ব্যবহার করে ব্যাকআপ ফাইলের ব্যবস্থাপনা সহজ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...