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 -e0 3 * * * /home/user/cleanup.shএটি প্রতিদিন ৩:০০ AM-এ পুরানো ব্যাকআপগুলি মুছে ফেলবে।
সারসংক্ষেপ
Cron এর মাধ্যমে আপনি সহজে এবং স্বয়ংক্রিয়ভাবে ব্যাকআপ নিতে পারেন। একটি cron job সেটআপ করে আপনি আপনার ব্যাকআপ স্ক্রিপ্টটি একটি নির্দিষ্ট সময়ে চালাতে পারেন। পাশাপাশি, আপনি স্ক্রিপ্টের লগ এবং অটোমেটিক ক্লিনআপ ফিচার ব্যবহার করে ব্যাকআপ ফাইলের ব্যবস্থাপনা সহজ করতে পারেন।
Read more