Database Tutorials Redis তে Automated Backup System কনফিগার করা গাইড ও নোট

357

Redis তে Automated Backup System কনফিগার করা একটি গুরুত্বপূর্ণ কাজ, যা নিশ্চিত করে যে আপনার ডেটা নিয়মিত সুরক্ষিত থাকে এবং সিস্টেম বা সার্ভার ক্র্যাশের পর সহজেই পুনরুদ্ধার করা যেতে পারে। Redis দুই ধরনের পার্সিস্টেন্স মেকানিজম ব্যবহার করে ডেটা ব্যাকআপ সিস্টেম পরিচালনা করে: RDB (Redis Database Backup) এবং AOF (Append Only File)

এখানে Redis তে Automated Backup System কনফিগার করার জন্য RDB এবং AOF পদ্ধতি দুটি নিয়ে আলোচনা করা হবে।


1. RDB (Redis Database Backup) কনফিগারেশন

RDB ফিচারটি Redis-এ একটি স্ন্যাপশট তৈরি করার জন্য ব্যবহৃত হয়। এটি নির্দিষ্ট সময় পর পর ডেটাবেসের একটি পূর্ণ স্ন্যাপশট নেয় এবং এটি ডিস্কে সেভ করে।

RDB Configuration Steps:

  1. redis.conf ফাইল খোলাঃ Redis এর কনফিগারেশন ফাইলটি সাধারণত /etc/redis/redis.conf বা /etc/redis.conf ডিরেক্টরিতে থাকে। এই ফাইলটি এডিট করতে:

    sudo nano /etc/redis/redis.conf
    
  2. save নির্দেশিকা সেট করা: save নির্দেশিকা ব্যবহার করে আপনি Redis-কে নির্দিষ্ট সময় অন্তর স্ন্যাপশট তৈরি করার জন্য কনফিগার করতে পারেন। এই কনফিগারেশনটি রেডিসকে বলে যে কখন স্ন্যাপশট নেয়া হবে, যেমন:

    save 900 1    # 900 সেকেন্ড (15 মিনিট) পর 1টি রাইট অপারেশন হলে স্ন্যাপশট
    save 300 10   # 300 সেকেন্ড (5 মিনিট) পর 10টি রাইট অপারেশন হলে স্ন্যাপশট
    save 60 10000 # 60 সেকেন্ড পর 10000টি রাইট অপারেশন হলে স্ন্যাপশট
    
  3. RDB ফাইলের অবস্থান নির্ধারণ করা: dir প্যারামিটার ব্যবহার করে আপনি স্ন্যাপশট ফাইলের অবস্থান সেট করতে পারেন। এটি সনাক্ত করে কিভাবে ডেটা ব্যাকআপ হবে:

    dir /var/lib/redis
    dbfilename dump.rdb  # স্ন্যাপশটের নাম dump.rdb
    
  4. BGSAVE কমান্ড ব্যবহার: Redis চালু থাকা অবস্থায় আপনি BGSAVE কমান্ড ব্যবহার করে স্ন্যাপশট নিতেও পারেন:

    BGSAVE
    
  5. Automated Backup with Cron Jobs: আপনি একটি Cron job তৈরি করে স্ন্যাপশট স্বয়ংক্রিয়ভাবে তৈরি করতে পারেন। যেমন, প্রতিদিন একটি স্ন্যাপশট নিতে:

    crontab -e
    

    এই কমান্ডটি লিখুন:

    0 0 * * * /usr/bin/redis-server /etc/redis/redis.conf
    

    এটি প্রতিদিন রাত ১২টায় Redis সার্ভার রিস্টার্ট করবে এবং স্ন্যাপশট নেবে।


2. AOF (Append Only File) কনফিগারেশন

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

AOF Configuration Steps:

  1. redis.conf ফাইল এডিট করুন:

    sudo nano /etc/redis/redis.conf
    
  2. AOF সক্ষম করা: appendonly প্যারামিটার দিয়ে AOF ফিচার সক্রিয় করুন:

    appendonly yes  # AOF সক্ষম করা
    appendfsync everysec  # প্রতি সেকেন্ডে AOF ফাইল সিঙ্ক করা
    
  3. AOF ফাইলের অবস্থান নির্ধারণ: dir প্যারামিটার ব্যবহার করে AOF ফাইলের ডিরেক্টরি নির্ধারণ করতে পারেন:

    dir /var/lib/redis
    appendfilename "appendonly.aof"
    
  4. AOF এর সিঙ্ক অপশন: appendfsync প্যারামিটার দ্বারা আপনি কীভাবে AOF ফাইল সিঙ্ক করবেন তা নির্ধারণ করতে পারেন। এর তিনটি অপশন:

    • always — প্রতিটি রাইট অপারেশন পরে সিঙ্ক করবে (ধীর, কিন্তু সবচেয়ে সুরক্ষিত)।
    • everysec — প্রতি সেকেন্ডে সিঙ্ক করবে (মধ্যম, পারফরম্যান্স এবং সুরক্ষা মিলিয়ে)।
    • no — সিঙ্ক না করলেই কাজ করবে (বেশি পারফরম্যান্স, কিন্তু নিরাপত্তা কম)।

    উদাহরণ:

    appendfsync everysec
    
  5. AOF ডেফ্র্যাগমেন্টেশন: AOF ফাইলটি সময়ের সাথে বড় হয়ে যেতে পারে, এজন্য প্রতি কিছুদিন পরপর AOF ফাইলটি ডিফ্র্যাগমেন্ট করতে হবে। auto-aof-rewrite-percentage এবং auto-aof-rewrite-min-size প্যারামিটার ব্যবহার করে এটি কনফিগার করা যায়:

    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    

3. Combine RDB and AOF for Automated Backup

আপনি চাইলে RDB এবং AOF উভয় পদ্ধতি একসাথে ব্যবহার করতে পারেন, যাতে স্ন্যাপশট এবং রাইট অপারেশন লোগ দুই ধরনের ব্যাকআপ পাওয়া যায়। এভাবে, আপনি উভয় ফিচারের সুবিধা পাবেন — দ্রুত ব্যাকআপ (RDB) এবং নির্ভুল পুনরুদ্ধার (AOF)।

Combined Backup Steps:

  1. redis.conf ফাইলে RDB এবং AOF উভয় পদ্ধতি সক্রিয় করতে হবে:

    appendonly yes
    save 900 1
    save 300 10
    save 60 10000
    
  2. Automate Backup with Cron: আপনি Cron job ব্যবহার করে রেডিস সার্ভারের ব্যাকআপ কাজটি আরও স্বয়ংক্রিয়ভাবে করতে পারেন, যেমন:

    crontab -e
    

    এবং এটি লিখুন:

    0 0 * * * /usr/bin/redis-server /etc/redis/redis.conf
    

4. Automating Redis Backup with Systemd

Redis সার্ভারের জন্য Systemd ব্যবহার করে ব্যাকআপ কার্যক্রম পরিচালনা করা যায়। Redis সিস্টেমের জন্য systemd সার্ভিস ফাইলটি কনফিগার করা যায়, যাতে প্রতি নির্দিষ্ট সময় পরপর ব্যাকআপ নেওয়া যায়।

Systemd Backup Example:

  1. প্রথমে একটি bash script তৈরি করুন যা ব্যাকআপ নেবে:

    sudo nano /usr/local/bin/redis-backup.sh
    

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

    #!/bin/bash
    cp /var/lib/redis/dump.rdb /var/backups/redis-dump-$(date +\%F).rdb
    
  2. স্ক্রিপ্টটিকে executable করুন:

    sudo chmod +x /usr/local/bin/redis-backup.sh
    
  3. Systemd Timer কনফিগার করুন ব্যাকআপ স্বয়ংক্রিয়ভাবে চালানোর জন্য:

    sudo nano /etc/systemd/system/redis-backup.timer
    

    নিচের কনফিগারেশনটি যুক্ত করুন:

    [Unit]
    Description=Redis Backup Timer
    
    [Timer]
    OnBootSec=10min
    OnUnitActiveSec=1d
    
    [Install]
    WantedBy=timers.target
    
  4. এখন টাইমার এবং সার্ভিস চালু করুন:

    sudo systemctl daemon-reload
    sudo systemctl enable redis-backup.timer
    sudo systemctl start redis-backup.timer
    

সারাংশ

Redis তে Automated Backup System কনফিগার করা হলে আপনার ডেটা নিরাপদে থাকবে এবং এটি আপনার সিস্টেমের ক্র্যাশ বা রিস্টার্টের পর সহজে পুনরুদ্ধার করা যাবে। আপনি RDB, AOF, অথবা উভয়কে একসাথে ব্যবহার করে ব্যাকআপ কৌশল তৈরি করতে পারেন। এছাড়াও, Cron jobs, Systemd, এবং অন্যান্য সিস্টেম ব্যবস্থাপনা টুলস

ব্যবহার করে এই ব্যাকআপ প্রক্রিয়াটি স্বয়ংক্রিয় করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...