স্বয়ংক্রিয় পোস্টগ্রিজ ব্যাকআপ


20

প্রতিদিন লিনাক্সে কোনও পোস্টগ্রিজ ডাটাবেস স্বয়ংক্রিয়ভাবে ব্যাকআপ করার সর্বোত্তম উপায় কী?

উত্তর:


11

আপনি এটির pg_dumpমতো ব্যবহার করতে পারেন :

$ pg_dump -h db_host -U user_name db_name > dump_file.sql

অনুগ্রহ করে .pgpassফাইলটি সেট করার জন্য প্রথমে ভাবেন , যে সংযোগটির কোনও পাসওয়ার্ড প্রয়োজন হলে ব্যবহার করতে পাসওয়ার্ড রয়েছে। এই ফাইলে নিম্নলিখিত ফর্ম্যাটটির লাইন থাকা উচিত:

hostname:port:database:username:password

এবং প্রথম চারটি ক্ষেত্রের প্রতিটিই একটি আক্ষরিক মান বা * হতে পারে যা কোনও কিছুর সাথে মেলে। উদাহরণস্বরূপ: *:*:*:postgres:pg_password

এই .pgpassফাইলটি অবশ্যই হোম ডিরেক্টরিতে থাকতে হবে ~ / এবং এতে থাকা অনুমতিগুলি অবশ্যই বিশ্ব বা গোষ্ঠীতে অ্যাক্সেসকে অস্বীকার করতে হবে; কমান্ড দ্বারা এটি অর্জন chmod 0600 ~/.pgpass


এটি কি স্বয়ংক্রিয়ভাবে ব্যাক আপ হয় ??
অনুজ প্যাটেল

@ ইন্ডিয়াঃ না, আপনাকে প্রতিদিন ক্রোন (বা অনুরূপ) থেকে চালাতে হবে।
বিল ওয়েইস

12

ক্রোন থেকে pg_dumpall চালান।


7
pg_dumpall অন্যান্য উত্তরের চেয়ে ভাল কারণ এটি আপনার বিশ্বব্যাপী ডাটাবেস অবজেক্টগুলিকে ব্যাক আপ করে। (প্রাক্তন: ব্যবহারকারীগণ, ইত্যাদি।) আপনার ডিবি সম্পূর্ণরূপে পুনরুদ্ধার করার জন্য আপনার এগুলির প্রয়োজন হবে এবং যদি আপনার এগুলির একটি বৃহত সংখ্যক থাকে তবে এগুলি পুনরায় তৈরি করার জন্য এটি অপ্রয়োজনীয় হতে পারে। তবে, আপনি যদি একাধিক ডাটাবেস ক্লাস্টারের মধ্যে কেবলমাত্র একটি একক ডাটাবেস উদাহরণ ব্যাকআপ করতে চান তবে আপনার জন্য পিজি_ডম্পল ওভারকিল হতে পারে কারণ pg_dumpall প্রতিটি উদাহরণ ব্যাকআপ করবে । সুতরাং ... বেশিরভাগ প্রযুক্তি প্রশ্নোত্তর হিসাবে এটি নির্ভর করে।
কেভিনআর

1
আমি "ডাটাবেস" এবং "ডাটাবেস সার্ভার" কে ঝাঁকিয়ে দেখি, এটি একটি ভাল উদাহরণ। আমি ধরে নিয়েছি পোস্টারটি পুরো বিষয়টির ব্যাক আপ করতে চাইবে গুড পয়েন্ট।
বিল ওয়েইস

6

ব্যবহার করে দেখুন AutoPostgreSQLBackup । এটি একটি একক স্ক্রিপ্ট ফাইল, আপনার প্রয়োজন অনুসারে সহজেই কনফিগার করা যায়, দৈনিক, সাপ্তাহিক এবং মাসিক সময়সূচী করতে পারে, ইমেল প্রতি লগ, লগ ফাইল বা stdout ইত্যাদি।


আমি অটোপোস্টগ্রিএসএসকিউএলব্যাকআপও ব্যবহার করি এবং এটি আমার জন্য খুব ভাল কাজ করছে ;-)
ম্যাথিউউ

4

এটি যদি যথাযথভাবে একটি ছোট ডাটাবেস, এবং ব্যাকআপের মতো কম প্রয়োজনীয়তা দিনে মাত্র একবার হয় তবে কেবল একটি স্থানীয় ফাইলে ডাম্প করতে ক্রোন থেকে pg_dump চালান, এবং তারপরে ডাম্পটি সংরক্ষণাগারভুক্ত করার জন্য মেশিনে থাকা ফাইলগুলি ব্যাকআপ করতে আপনার যা আছে তা ব্যবহার করুন ।



2

অ্যাস্ট্রিল-নিরাপদ চেষ্টা করুন । এটি কীভাবে মাইএসকিএল (মাইএসকিএলডাম্প), পোস্টগ্রিস (পিজি_ডাম্প), বা এনক্রিপশন (gnupg) সহ কেবল সরল ফাইলগুলি (টার) এবং S3 / Sftp এ আপলোড করবেন তা জানে।


1

pg_dump একটি দুর্দান্ত সমাধান, তবে আপনি যদি প্রচুর ডেটা ব্যাকআপ করার চেষ্টা করছেন তবে সম্ভবত এটি সাহায্য করতে পারে:

http://www.postgresql.org/docs/8.1/static/backup-online.html

যা আসলে এক ধরণের 'কাঁচা' লগিং, তবে এটি বর্ধমান ব্যাকআপ পদ্ধতি হিসাবে কার্যকর হতে পারে ...


1

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

এর গুরুত্ব হ'ল পিজি_ডাম্পাল সরবরাহ করে না এমন সংকোচনের সুবিধা এবং পিজি_ডাম্প উপেক্ষা করে ভুলে যাওয়া ডেটা।

এখানে বর্ণিত হিসাবে একটি পগপাস বা অনুরূপ সেটআপের প্রয়োজন হবে http://wiki.postgresql.org/wiki/Pgpass

এটি ওএসএক্সের জন্য সেটআপ তবে কেবল প্রোগ্রামের পাথগুলি পরিবর্তন করে এটি কার্যকর হবে।

স্কুয়েলব্যাক আপগুলি ব্যাক আপ করে স্ক্রিপ্টটি ডিরেক্টরি আকার / ডিরেক্টরিটি ফিরিয়ে দেবে এবং এতে ব্রেকপয়েন্ট রয়েছে যা ব্যর্থ হলে একটি শূন্য নয় এমন অবস্থা ফিরে আসবে। আমি এটি দৈনিক ব্যাকআপ করতে পিজিএজেন্টের সাথে একত্রে ব্যবহার করেছি।

স্ক্রিপ্ট redacted, এটি সম্পর্কে দুঃখিত :(


1

আপনি যখন বারম্যানের সাথে সহজেই পয়েন্ট-ইন-সময় পুনরুদ্ধার করতে পারেন তবে কেন একটি দৈনিক ব্যাকআপ নিয়ে স্থির হন ?


আমি মডারেটরদের সিদ্ধান্ত নিতে দেব, তবে আমি বিশ্বাস করি বাণিজ্যিক পণ্যগুলি প্লাগ করতে 5 বছরের পুরানো প্রশ্নের পুনরুত্থান এখানে খারাপ ফর্ম।
gparent

: Ehm, এটা ওপেন সোর্স এর sourceforge.net/projects/pgbarman/files
জিওভান্নি Toraldo

আপনি ঠিক বলেছেন, আমি ভুল জিনিস গুগল। আমার মূল উদ্বেগটি তা ছিল না, যাইহোক, এটি এমন কোনও উত্তর দেওয়ার বিষয়ে ছিল যা ব্যবহারকারীর 5 বছর পরে জিজ্ঞাসা করা হয়নি really যাইহোক, অন্যান্য উত্তরগুলি পড়ার পরে, তারাও অনুরূপ ব্যাক আপ সমাধানগুলি বলে মনে হচ্ছে তাই আমার ধারণা এটি খারাপ নয়। আমার পতাকা সম্ভবত প্রত্যাখ্যানিত হবে এবং আমরা এটিকে একটি দিন
বলব

0

অন্যরা যেমন বলেছেন: pg_dumpall।

এছাড়াও, লগ শিপিং এ একবার দেখুন। তারপরে আপনি আরও পয়েন্ট-ইন-টাইম ব্যাকআপ নিতে পারেন যা আপনি আবার খেলতে পারেন: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html

বা ম্যানুয়ালটিতে ব্যাকআপগুলির বিভাগ সম্পর্কে কীভাবে:

http://www.postgresql.org/docs/8.3/static/backup.html

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