אבטחה למסד נתונים PostrageSQL
-
אולי כדאי לעשות בדרך הזאת:
tar -cf backup.tar /usr/local/pgsql/data
להוריד את הקובץ המקורי של מסדי הנתונים.
מכאן:
https://www.postgresql.org/docs/9.1/static/backup-file.html
הבעיה שאני לא מוצא את הקובץ הזה. -
הגיבוי שאתה מציין הוא ברמת מערכת הקבצים, ולפי התיעוד הוא מחייב כיסוי של המסד בעת הפעולה.
הדרך הנורמלית כנראה נמצאת פה
https://wiki.postgresql.org/wiki/Automated_Backup_on_Linux(אגב המילה אבטחה, בכלל ובמחשבים גם, משמשת משום מה להגנה מזדון, ולא לוידוא שרידות וביטחון. אני לא יודע איזה מילה חילופית יש לעניין).
-
@dovid אמר באבטחה למסד נתונים PostrageSQL:
(אגב המילה אבטחה, בכלל ובמחשבים גם, משמשת משום מה להגנה מזדון, ולא לוידוא שרידות וביטחון. אני לא יודע איזה מילה חילופית יש לעניין).
לכאורה זה לא אבטחת מידע. כמו שכתבת.
אבטחת מידע זה מפני תקיפות בזדון וכו' (גם כמו שכתבת...)
לכאורה השם הנכון הוא גיבוי / שרידות -
@מנצפך
בנורמלי יש 2 דרכים נפוצות לגבות DB.- להעתיק את הקובץ הפיזי. בד"כ לא הכי יעיל (במיוחד בMSSQL, שם הקובץ נעול)
- לעשות DUMP לקובץ. ואז שרת הSQL עושה את הגיבוי לנתיב שתגיד לו. - וזו הדרך היותר נכונה
לכאורה זה מה שיש בלינק שהבאת.
השורה הבאה:
pg_dump name_of_database > /root/db.bak
תגבה את הDB לתיקיית רוט
-
@dovid הבאת למעלה את הקישור:
https://wiki.postgresql.org/wiki/Automated_Backup_on_Linux
אני מבין שההבדל בין 2 הסקריפטים הוא האם הוא מוחק גיבוי ישן.
שאלתי היא- היכן למקם את הקבצים ואיך להריץ אותם?
- האם ברגע שמריצים אותם הם רצים לתמיד? (ראיתי שם while).
- האם הגיבוי נוצר כמו ע"י pg_dump?
- מה הכוונה שזה מגבה רק את הסכמה? ("optionally only backing up the schema for a set list"). זה לא מגבה את הנתונים רק את מבנה הטבלאות?
(נ.ב. הייתי רוצה אפשרות שישלח לי את הקובץ למייל, נראה לי זה מאובטח ביותר, אבל בשביל זה אני צריך ללמוד על בניית סקריפטים בלינוקס. אני לא מכיר את התחום. לחילופין אני יכול למקם את הסקריפטים על המחשב שלי, ואז הגיבוי יווצר אצלי. הבעיה היא שאין לי IP קבוע והמחשב לא דולק קבוע).
-
אין הבדל ביניהם, זה זהה.
רק שמה שהבאת זה שורת קוד בודדת מתוך הסקריפט המלא שכפי שאמרת דואג לכמה דברים, בקיצור כל מה שצריך לגיבוי יומי.
לשאלותיך:- פתח תיקיה איפה שאתה רוצה ושים שם את שלושת הקבצים.
שנה בקובץ את pg_backup.config את ההגדרות למה שצריך, שים לב למיקומי הקבצים. - לא. זה גיבוי חד פעמי, אבל הוא דואג למחוק גיבויים ישנים כפי שתראה בהגדרות (מוגדר 7 ימים). אתה אמור ליצור cron שיעשה זאת כל פרק זמן שתבחר.
- כן.
- זה optionaly, כלומר זה תלוי אם תרצה ותגדיר. בברירת מחדל זה גיבוי מלא.
בקשר למייל אתה אמור להוסיף שורות קוד בסקריפט.
תפתח אשכול ושאל איך שולחים מייל עם קובץ מצורף בקוד בש. - פתח תיקיה איפה שאתה רוצה ושים שם את שלושת הקבצים.
-
יש שמה בקובץ הקונפיג שלושה אפשרויות:
# Will produce a custom-format backup if set to "yes" ENABLE_CUSTOM_BACKUPS=yes # Will produce a gzipped plain-format backup if set to "yes" ENABLE_PLAIN_BACKUPS=yes # Will produce gzipped sql file containing the cluster globals, like users and passwords, if set to "yes" ENABLE_GLOBALS_BACKUPS=yes
תעשה no למה שאתה לא צריך, ואת היחיד שהוא ייצור תגבה.
אני לא מבין את ההבדלים הין שלושת האפשרויות. -
@dovid אני חושב שplain זה קובץ טקסט פשוט, custom זה קובץ בינארי (לפחות בחלקו).
יש לי בעיה, כשהרצתי את הסקריפט על המחשב שלי הוא עבד היטב (ב sudo), ועבד היטב גם ב corn.
אבל ב SSH הוא ביקש סיסמא על כל פעולה. גם שהרצתי אותו עם sudo. איך אפשר לפתור את זה? -
יש פה שתי שאלות לא קשורות,
השאלה למה צריך סיסמה חוזרת לroot לא ברורה לי, אבל היא לא כ"כ חשובה, תנסה אולי עם su לבד.
הבעיה של סיסמה למסד זה כי זה רץ תחת יוזר של המערכת, אפשר להגדיר בcron תחת איזה יוזר זה ירוץ - שים את הנוכחי (root?) וזה יעבוד לכאורה ללא סיסמה.