উবুন্টুতে মাইএসকিএল-এর স্বয়ংক্রিয় ব্যাকআপ


12

আমার একটি মাইএসকিএল ডেটাবেস সহ একটি উবুন্টু সার্ভার রয়েছে। আমি অন্য সার্ভারে রাতের বেলা এই ডাটাবেসের একটি স্বয়ংক্রিয় ব্যাকআপ সেট করতে চাই (উদাহরণস্বরূপ ovh)।

আমি জানি না যে এর জন্য সেরা সরঞ্জামটি কী হবে। কারও কাছে যদি কিছু পরামর্শ থাকে ...

আগাম ধন্যবাদ.

উত্তর:


29

এই কাজটি স্বয়ংক্রিয় করার সহজতম উপায় হ'ল মাইএসকিউএল ডাম্প এবং ক্রোনজবের সংমিশ্রণ। আপনি এই এবং অন্যান্য ইন্টারনেট সাইটে এই বিষয়ে প্রচুর তথ্য খুঁজে পেতে পারেন তবে সম্পূর্ণ করার জন্য:

একটি mysqldump.sh ফাইল তৈরি করুন

যার মধ্যে মাইএসকিএল ডাম্প কমান্ড থাকবে আমরা একটি ক্রোন কাজের সময়সূচী করব (আপনার পরিবেশের সাথে মেলে ব্যবহারকারী, পাসওয়ার্ড এবং পথ প্রতিস্থাপন করুন):

mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz

সম্পাদনা: আপনি যদি স্ক্রিপ্টটি কোনও দূরবর্তী স্থানে ব্যাকআপটি সঞ্চয় করতে চান তবে কেবলমাত্র সংশ্লিষ্ট ডিভাইসটি মাউন্ট করুন বা স্ক্রিপ্টে মাউন্ট পাথটি ভাগ করুন এবং ব্যবহার করুন।

স্ক্রিপ্ট পরীক্ষা করুন

স্ক্রিপ্টের কার্যকর করার অনুমতি রয়েছে তা নিশ্চিত করুন:

chmod +x /path/to/mysqldump.sh

স্ক্রিপ্টটি কার্যকর করুন:

sh /path/to/mysqldump.sh

এবং এটি সঠিকভাবে কাজ করছে কিনা পরীক্ষা করুন (নির্দিষ্ট ব্যাকআপ ফোল্ডারে ব্যাকআপ ফাইলটি তৈরি করা হবে)।

একটি নতুন ক্রোন জব তৈরি করুন এবং শিডিয়ুল করুন

কমান্ড প্রম্পটে টাইপ করুন

sudo crontab -e

এবং ফাইলের নীচে নিম্নলিখিত লাইনটি যুক্ত করুন:

30 23 * * * /path/to/mysqldump.sh

এটি প্রতিদিন 23:30:30 এ স্ক্রিপ্টটি কার্যকর করবে।

এই সাধারণ স্ক্রিপ্টটি প্রসারিত করুন

এই সাধারণ ব্যাকআপ পদ্ধতিটি উন্নত করতে আপনি আক্ষরিক অর্থে প্রচুর পরিমাণে জিনিস করতে পারেন:

  • অন্য সিস্টেমে ব্যাক আপ নেওয়া
  • ডিস্ক স্পেস নিরীক্ষণ
  • ইমেল প্রতিবেদন
  • ...

সুতরাং এখানে এবং পরীক্ষা না শেষ! :-)

ব্যাকআপ-সরঞ্জাম বা ক্লাউড-ভিত্তিক ব্যাকআপ-পরিষেবাগুলি ব্যবহার করুন

যদিও উপরের পদ্ধতিটি অন্যতম সহজতম এবং আপনার নির্দিষ্ট প্রয়োজন অনুসারে বাড়ানো যেতে পারে, তবে এটি উল্লেখযোগ্য যে অন্যান্য বিকল্পগুলিও রয়েছে:

  • ব্যাকআপ-সরঞ্জামগুলি যেমন অটোমাইএসকিউএলব্যাকআপ, একটি ওপেন-সোর্স অ্যাপ্লিকেশন যা আপনার ব্যাকআপগুলির ইমেল-নোটিফিকেশন, সংক্ষেপণ, এনক্রিপশন, রোটেশন এবং টাইপের (যেমন বর্ধমান) কনফিগার করার প্রক্রিয়াটি সহজ করতে পারে। মাই 2018 হিসাবে, এটি এপিটি এর মাধ্যমে উবুন্টু সার্ভারের জন্য উপলব্ধ।
  • ক্লাউড-ভিত্তিক ব্যাকআপ-পরিষেবাগুলি যেমন ব্যাকআপবার্ড, মাইরপোনো, বিটকান ইত্যাদি interesting যা আপনি বেশ কয়েকটি ডাটাবেস-সার্ভার পরিচালনা করেন এবং তাদের সমস্ত ব্যাকআপ কেন্দ্রীয়ভাবে পরিচালনা করতে চাইলে আকর্ষণীয় হতে পারে।

দয়া করে মনে রাখবেন যে আমি উল্লিখিত সমাধান এবং পরিষেবাদিগুলির কোনওর সাথেই সম্পর্কিত নই এবং আমি কেবলমাত্র রেফারেন্সের জন্য তাদের তালিকাভুক্ত করছি, তাই এগুলি আপনার নিজের ঝুঁকিতে ব্যবহার করুন।

দরকারী লিঙ্ক / তথ্যসূত্র:

ক্রোন -> https://en.wikedia.org/wiki/Cron

মাইএসকিউএল ডাম্প -> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html


4
ব্যবহার করুন date +%F- যা স্বয়ংক্রিয়ভাবে বছরের + মাস + তারিখের ব্যবহারকারীর লোকেলের সাথে মানানসই চয়ন করবে (উদাহরণস্বরূপ, আমি পেয়ে যাব YYYY-MM-DD)।
মুড়ু

ওহ হ্যাঁ, আরও ভাল। আমি উত্তরটি সম্পাদনা করব :-)
এডুয়ার্ডো লোপেজ

+1 ভাল উত্তর: ঠিক এখানে যা প্রয়োজনীয় তা আর নেই, কমও নয়।
জোস

2
এই অপারেশনটি করতে যদি আপনাকে sudo ব্যবহার করতে হয় (ক) কল করুন sudo crontab -eএবং স্ক্রিপ্টটি সম্পাদনযোগ্য করতে ভুলবেন না:chmod +x /path/to/mysqldump.sh
জিনন

জিনন - ইঙ্গিতগুলির জন্য ধন্যবাদ! আমি উত্তর আপডেট।
এডুয়ার্ডো লোপেজ 14
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.