☁️ نحوه تهیه نسخه پشتیبان از پایگاه داده PostgreSQL – تیم امنیت اطلاعات

اگر از PostgreSQL در محیط تولید استفاده می کنید ، لازم است اقدامات احتیاطی را انجام دهید تا اطمینان حاصل شود که داده های کاربران شما از بین نمی رود.

با پشتیبان گیری مداوم از بانک اطلاعاتی خود و / یا خودکار سازی پشتیبان گیری با استفاده از کارهای cron ، می توانید اگر سیستم عامل شما خراب شود یا آسیب ببیند ، سریعاً سیستم خود را بازیابی کنید.

خوشبختانه PostgreSQL شامل ابزاری است که این کار را ساده و آسان می کند.

قبل از شروع

شما باید کار کن من می خواهم PostgreSQL را قبل از شروع این راهنما بر روی سیستم شما نصب کنم.

نصب DBMS و دستورالعمل های شروع ما را بخوانید:

مراحل این راهنما به امتیازات ریشه ای نیاز دارد. مطمئن باشید که مراحل زیر را به عنوان root دنبال می کنید. یا پیشوند با sudo.

یک بار گذرگاه SQL

تک پایگاه داده

PostgreSQL ابزار pg_dump را برای ساده سازی نسخه پشتیبان از یک بانک اطلاعاتی فراهم می کند.

این دستور باید به عنوان کاربر دارای حق خواندن در دیتابیس اجرا شود. ذخیره کپی کنید که می خواهید ایجاد کنید.

به عنوان کاربر postgres وارد شوید:

 su - postgres 

محتویات پایگاه داده را با استفاده از دستور زیر در یک پرونده قرار دهید. dbname را با نام بانک اطلاعات جایگزین کنید تا نسخه پشتیبان تهیه کنید. 19659017] pg_dump dbname> dbname.bak

فایل پشتیبان حاصل ، dbname.bak ، می تواند با استفاده از scp به محلی دیگر ذخیره شود یا برای استفاده بعدی ذخیره شود.

برای نشان دادن بازیابی اطلاعات از دست رفته ، پایگاه داده نمونه را حذف کنید و یک پایگاه داده خالی در جای خود ایجاد کنید:

 dropdb dbname
ایجاد dbname 

بازگرداندن بانک اطلاعاتی با استفاده از psql:

 psql test <dbname.bak 

برای قالب پشتیبان گزینه های مختلفی وجود دارد:

  • * .bak: قالب باینری فشرده شده
  • * .sql: dump open متن
  • * .tar: tarball

پایگاه داده از راه دور

درست همانطور که psql به شما امکان می دهد تا به یک میزبان از راه دور متصل شوید ، pg_dump می تواند از یک رایانه مشتری برای پشتیبان گیری از داده ها در یک سرور از راه دور راه اندازی شود.

ساعت برای تعیین آدرس IP Linode و -p برای تعیین پستی که PostgreSQL در آن گوش می دهد:

 pg_dump -h 198.51 .100.0 -p 5432 dbname> dbname.bak 

از آنجا که pg_dump بطور همزمان فقط یک بانک اطلاعاتی را تهیه می کند ، اطلاعات مربوط به نقش های پایگاه داده یا سایر پیکربندی های کل خوشه را ذخیره نمی کند.

می توانید برای ذخیره سازی این اطلاعات از pg_dumpall استفاده کرده و همزمان از کلیه بانکهای اطلاعاتی خود نسخه پشتیبان تهیه کنید.

یک فایل تهیه نسخه پشتیبان تهیه کنید:

 pg_dumpall> pg_backup.bak 

بازیابی تمام پایگاه های داده از پشتیبان گیری:

 psql -f pg_backup .bak postgres 

پشتیبان گیری خودکار با کرون

شما ممکن است بخواهید شما می توانید وظیفه cron را به گونه ای تنظیم کنید که بانک اطلاعاتی شما بطور خودکار در فواصل منظم پشتیبان گیری شود.

در در این بخش نحوه پیکربندی وظیفه cron ، که pg_dump را در هفته اجرا می کند به شما نشان می دهد.

به عنوان کاربر postgres وارد شوید:

 su - postgres 

دایرکتوری را برای ذخیره کردن نسخه های پشتیبان خودکار ایجاد کنید:

 mkdir -p ~ / postgres / backup 

crontab را ویرایش کنید تا یک وظیفه جدید را ایجاد کنید:

 crontab - e 

خط پایان را به انتهای crontab اضافه کنید:

 0   0  * *  0  pg_dump -U postgres dbname > ~ / postgres / backup / dbname.bak 

ویرایشگر را ذخیره کنید و از آن خارج شوید.

پایگاه داده شما هر یکشنبه از نیمه شب پشتیبان تهیه می شود.

برای تغییر زمان یا دفعات بروزرسانی ها ، راهنماهای مربوط به ما را بررسی کنید: