Automated Backup এবং Restore একটি ডেটাবেসের সুরক্ষা এবং রক্ষণাবেক্ষণের জন্য অত্যন্ত গুরুত্বপূর্ণ প্রক্রিয়া। স্বয়ংক্রিয় ব্যাকআপের মাধ্যমে আপনি আপনার ডেটাবেসের তথ্য হারানোর বিপদ থেকে রক্ষা করতে পারেন, এবং প্রয়োজন হলে সহজেই ডেটাবেস পুনরুদ্ধার করতে পারেন। SQL-এ Automated Backup এবং Restore কনফিগার করার জন্য কিছু সাধারণ টুল এবং কৌশল রয়েছে, যা বিভিন্ন ডেটাবেস সিস্টেমে ব্যবহৃত হয়।
এখানে MySQL এবং SQL Server এর জন্য Automated Backup এবং Restore কনফিগার করার প্রক্রিয়া আলোচনা করা হবে।
১. MySQL Automated Backup
MySQL-এ স্বয়ংক্রিয় ব্যাকআপ কনফিগার করতে সাধারণত cron jobs (Linux) বা Task Scheduler (Windows) ব্যবহার করা হয়। mysqldump টুল দিয়ে ব্যাকআপ নেয়া হয় এবং সেই ব্যাকআপ ফাইলটি নির্দিষ্ট সময়ে স্বয়ংক্রিয়ভাবে তৈরি করা যায়।
MySQL Backup Script তৈরি করা:
ব্যাকআপ স্ক্রিপ্ট তৈরি করুন: প্রথমে একটি ব্যাশ স্ক্রিপ্ট তৈরি করুন, যা ব্যাকআপ নেবে। এই স্ক্রিপ্টটি
mysqldumpটুল ব্যবহার করবে। উদাহরণস্বরূপ:#!/bin/bash # Set date format for backup folder DATE=$(date +\%F) # MySQL login credentials MYSQL_USER="root" MYSQL_PASSWORD="your_password" MYSQL_DATABASE="your_database" # Backup directory BACKUP_DIR="/path/to/backup/$DATE" # Create backup directory if not exists mkdir -p $BACKUP_DIR # Perform the backup mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE > $BACKUP_DIR/$MYSQL_DATABASE.sql # Optional: Delete backups older than 7 days find /path/to/backup/* -mtime +7 -exec rm -rf {} \;এই স্ক্রিপ্টে:
mysqldumpটুল ব্যবহার করে নির্দিষ্ট ডেটাবেসের ব্যাকআপ নেয়া হচ্ছে।- ব্যাকআপের ফাইলের নাম একটি তারিখ স্ট্যাম্পের সাথে সংযুক্ত।
- ৭ দিনের পুরানো ব্যাকআপগুলো স্বয়ংক্রিয়ভাবে মুছে ফেলা হচ্ছে (এই অংশটি অপশনাল)।
স্ক্রিপ্টটি এক্সিকিউটেবল করুন: স্ক্রিপ্টটিকে এক্সিকিউটেবল করতে হবে:
chmod +x /path/to/backup_script.shcron job সেটআপ করুন (Linux): cron job ব্যবহার করে এই স্ক্রিপ্টটি নির্দিষ্ট সময় পর পর রান করানো যাবে।
crontabকমান্ড ব্যবহার করে cron job এডিট করুন:crontab -eউদাহরণস্বরূপ, প্রতি রাতে ২টায় ব্যাকআপ নেয়ার জন্য cron job:
0 2 * * * /path/to/backup_script.shএই cron job প্রতি রাত ২টায় ব্যাকআপ নেবে।
Restore MySQL Database:
MySQL ডেটাবেস রিস্টোর করার জন্য mysql টুল ব্যবহার করা হয়। ব্যাকআপ করা .sql ফাইল দিয়ে ডেটাবেস পুনরুদ্ধার করা যায়।
mysql -u root -p your_database < /path/to/backup/your_database.sql
এখানে:
your_database.sqlব্যাকআপ ফাইলটি হবে।your_databaseহল রিস্টোর করার ডেটাবেসের নাম।
২. SQL Server Automated Backup
SQL Server-এ Automated Backup করার জন্য SQL Server Agent বা PowerShell স্ক্রিপ্ট ব্যবহার করা যায়। SQL Server Agent ব্যবহারে একটি নিয়মিত ব্যাকআপ কাজ সেট করা যেতে পারে।
SQL Server Agent Job তৈরি করা (Automated Backup):
- SQL Server Management Studio (SSMS) এ লগইন করুন।
- SQL Server Agent চালু করুন, যদি এটি বন্ধ থাকে।
- New Job তৈরি করুন:
- SSMS এ SQL Server Agent এ রাইট ক্লিক করুন এবং New Job নির্বাচন করুন।
- Job Steps তৈরি করুন:
- Step Name দিন এবং Type হিসেবে
Transact-SQL script (T-SQL)নির্বাচন করুন। ব্যাকআপ কোড লিখুন:
BACKUP DATABASE your_database TO DISK = 'C:\path\to\backup\your_database.bak' WITH FORMAT, MEDIANAME = 'your_backup', NAME = 'Full Backup of your_database';
- Step Name দিন এবং Type হিসেবে
- Schedule তৈরি করুন:
- Schedules ট্যাব এ গিয়ে নির্দিষ্ট সময় পর পর ব্যাকআপ নেয়ার জন্য একটি নতুন শিডিউল তৈরি করুন (যেমন প্রতিদিন রাত ২টা)।
- Job সফলভাবে চালানোর জন্য: নিশ্চিত হয়ে OK ক্লিক করুন।
SQL Server Backup Restore:
SQL Server এ ব্যাকআপ রিস্টোর করার জন্য RESTORE DATABASE কমান্ড ব্যবহার করা হয়।
RESTORE DATABASE your_database
FROM DISK = 'C:\path\to\backup\your_database.bak'
WITH REPLACE;
এখানে:
your_database.bakব্যাকআপ ফাইলটি হবে।WITH REPLACEব্যবহৃত হয় যদি আপনি বর্তমান ডেটাবেসের উপরে রিস্টোর করতে চান।
Windows Task Scheduler ব্যবহার করে ব্যাকআপ (Windows)
Windows-এ, Task Scheduler ব্যবহার করে SQL Server বা MySQL ব্যাকআপ কনফিগার করা যায়।
- Task Scheduler খুলুন এবং একটি নতুন টাস্ক তৈরি করুন।
- Action এ Run a Program নির্বাচন করুন এবং ব্যাকআপ স্ক্রিপ্টের পথ দিন।
- নির্দিষ্ট সময়ে (যেমন প্রতিদিন ২টায়) ব্যাকআপ স্ক্রিপ্টটি রান করতে শিডিউল করুন।
উপসংহার:
Automated Backup এবং Restore ডেটাবেসের সুরক্ষা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। স্বয়ংক্রিয়ভাবে ব্যাকআপ এবং রিস্টোর কনফিগার করে আপনি ডেটা ক্ষতি প্রতিরোধ করতে পারেন এবং নির্দিষ্ট সময়ে ব্যাকআপ নিশ্চিত করতে পারেন। MySQL এবং SQL Server-এ ব্যাকআপ কনফিগার করার জন্য cron job বা SQL Server Agent ব্যবহার করা যায়, এবং রিস্টোর প্রক্রিয়া সাধারণত mysql বা RESTORE DATABASE কমান্ডের মাধ্যমে সম্পন্ন হয়।
Read more