Cron Job একটি ইউনিক্স/লিনাক্স সিস্টেমে সময় ভিত্তিক কাজের জন্য ব্যবহৃত একটি টুল, যা নির্দিষ্ট সময় পর পর বা নির্দিষ্ট সময়সূচী অনুযায়ী স্ক্রিপ্ট বা কমান্ড রান করতে সক্ষম। MariaDB ডেটাবেসের অটোমেটেড ব্যাকআপ তৈরি করতে Cron Job ব্যবহারের মাধ্যমে এটি স্বয়ংক্রিয়ভাবে নিয়মিতভাবে করা যেতে পারে, যাতে আপনি ডেটাবেসের নিরাপত্তা নিশ্চিত করতে পারেন এবং ব্যাকআপের জন্য কোনো ম্যানুয়াল কাজ করতে না হয়।
এখানে Cron Job ব্যবহার করে MariaDB এর ব্যাকআপ অটোমেটিকভাবে কিভাবে নেওয়া যায় তা বিস্তারিতভাবে আলোচনা করা হবে।
Cron Job দিয়ে MariaDB ব্যাকআপ নেওয়ার প্রস্তুতি
Cron Job সেট করার আগে কিছু প্রাথমিক কাজ করতে হবে:
- MariaDB ব্যাকআপ স্ক্রিপ্ট তৈরি করুন: MariaDB ডেটাবেসের ব্যাকআপ নেওয়ার জন্য একটি শেল স্ক্রিপ্ট তৈরি করতে হবে।
- Cron Job কনফিগার করুন: স্ক্রিপ্টটি নির্দিষ্ট সময় পর পর স্বয়ংক্রিয়ভাবে চালানোর জন্য Cron Job কনফিগার করতে হবে।
1. MariaDB ব্যাকআপ স্ক্রিপ্ট তৈরি করা
ব্যাকআপ নেওয়ার জন্য প্রথমে একটি শেল স্ক্রিপ্ট তৈরি করতে হবে। উদাহরণস্বরূপ, যদি আপনার MariaDB ডেটাবেসের নাম mydatabase হয়, তবে একটি ব্যাকআপ স্ক্রিপ্ট তৈরি করুন।
ব্যাকআপ স্ক্রিপ্ট তৈরি করা:
আপনার পছন্দের টেক্সট এডিটর (যেমন
nanoবাvim) ব্যবহার করে একটি স্ক্রিপ্ট ফাইল তৈরি করুন:nano /home/user/mariadb_backup.shস্ক্রিপ্টের মধ্যে নিচের কোড লিখুন:
#!/bin/bash # MariaDB ব্যাকআপ স্ক্রিপ্ট # ডেটাবেসের তথ্য DB_USER="your_username" # MariaDB ইউজারনেম DB_PASS="your_password" # MariaDB পাসওয়ার্ড DB_NAME="mydatabase" # ডেটাবেসের নাম BACKUP_DIR="/path/to/backup/dir" # ব্যাকআপ ফোল্ডারের পাথ # ব্যাকআপ ফাইলের নামের জন্য সময়ের স্ট্যাম্প DATE=$(date +\%F_\%T) # ব্যাকআপ কমান্ড mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME"_"$DATE.sql # পুরনো ব্যাকআপ ফাইল সরিয়ে ফেলা (অথবা সংরক্ষণ করা) find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -exec rm {} \; # ৩০ দিনের পুরনো ব্যাকআপ মুছে ফেলুনএখানে,
mysqldumpকমান্ডটি MariaDB ডেটাবেসের ব্যাকআপ নেয়ার জন্য ব্যবহৃত হয়। ব্যাকআপ ফাইলের নামের সাথে তারিখ এবং সময় সংযুক্ত করা হয় যাতে প্রতিটি ব্যাকআপ আলাদা এবং সহজে চিহ্নিত করা যায়।স্ক্রিপ্টটি সেভ করুন এবং ফাইলটিকে এক্সিকিউটেবল (executables) করার জন্য উপরের কমান্ডটি চালান:
chmod +x /home/user/mariadb_backup.sh
2. Cron Job কনফিগার করা
এখন Cron Job সেট করতে হবে যাতে আপনার ব্যাকআপ স্ক্রিপ্ট নির্দিষ্ট সময়ে চালানো হয়।
Cron টেবিল খুলুন:
Cron টেবিল (cron jobs) এডিট করতে নিচের কমান্ডটি ব্যবহার করুন:
crontab -eব্যাকআপ স্ক্রিপ্টের জন্য Cron Job তৈরি করুন:
নিচে একটি উদাহরণ দেওয়া হলো, যেখানে ব্যাকআপটি প্রতিদিন রাতে ২ টা ৩০ মিনিটে নেওয়া হবে:
30 2 * * * /home/user/mariadb_backup.shএখানে:
30: মিনিট2: ঘণ্টা (যার মানে ২টা)*: প্রতিটি দিন*: প্রতিটি মাস*: প্রতিটি সপ্তাহের দিন
এর মানে হল যে, প্রতিদিন রাত ২:৩০ এ আপনার ব্যাকআপ স্ক্রিপ্টটি চলবে এবং ডেটাবেসের ব্যাকআপ নেবে।
Cron টেবিল সেভ করুন এবং বন্ধ করুন:
যদি আপনি
nanoএ Cron টেবিল খুলে থাকেন, তাহলে সেভ করতেCTRL + Xচাপুন, তারপরYদিয়ে সেভ করুন এবংEnterপ্রেস করুন।
3. ব্যাকআপের ফলাফল এবং সমস্যা সমাধান
- ব্যাকআপ ফাইল চেক করা: ব্যাকআপ ফাইল নির্দিষ্ট ফোল্ডারে তৈরি হবে, যেমন
/path/to/backup/dir/। আপনি এই ফোল্ডারে গিয়ে.sqlফাইলটি চেক করতে পারেন। Cron Job লোগ চেক করা: Cron Job এর কার্যকারিতা এবং ব্যাকআপ প্রক্রিয়া মনিটর করার জন্য
/var/log/syslogবা/var/log/cron.logফাইল চেক করতে পারেন।tail -f /var/log/syslogঅথবা,
tail -f /var/log/cron.logএখানে আপনি Cron Job এর কার্যকারিতা দেখতে পারবেন এবং যদি কোনো ত্রুটি ঘটে তবে তা জানতে পারবেন।
- ব্যাকআপ মুছে ফেলা: স্ক্রিপ্টের মধ্যে যদি পুরনো ব্যাকআপ ফাইলগুলি মুছে ফেলার কোড দেওয়া থাকে (যেমন
-mtime +30), তবে এটি স্বয়ংক্রিয়ভাবে ৩০ দিনের পুরনো ব্যাকআপ ফাইল মুছে ফেলবে।
সারাংশ
Cron Job ব্যবহার করে MariaDB এর ব্যাকআপ অটোমেটিকভাবে নেওয়া খুবই কার্যকরী এবং সময় সাশ্রয়ী একটি পদ্ধতি। এটি আপনাকে প্রতিদিন বা নির্দিষ্ট সময়ে ব্যাকআপ নেয়ার জন্য স্বয়ংক্রিয়ভাবে একটি স্ক্রিপ্ট চালানোর সুযোগ দেয়। এই পদ্ধতিতে, ব্যাকআপ কপি নিয়মিতভাবে তৈরি হয় এবং ম্যানুয়াল ব্যাকআপের ঝামেলা এড়ানো যায়। Cron Job এর সাহায্যে ব্যাকআপের কার্যক্রমকে নির্ধারিত সময়সূচী অনুযায়ী চালানো সহজ এবং নিরাপদ।