bash backup script

כיצד יוצרים סקריפט בלינוקס שמגבה מסד נתונים של MySQL

לא מזמן יצא לי לכתוב סקריפט BASH שיעשה גיבוי לאחד ממסדי הנתונים שלי. למי שלא יודע מה זה bash script או bash בכלל, מדובר על shell שנמצאת בכל לינוקס ומקינטוש (אפשר להתקין אותה גם על חלונות למי שבאמת מזוכיסט). ה-shell הזו מאפשרת לכתוב סקריפטים ותוכנות כדי לתחזק את השרת שלהם (בין שאר הדברים).
אני לא sysadmin אבל כמתכנת PHP אני מתמצא היטב בלינוקס ומבצע עבודות IT כשאני צריך. אחת מהעבודות האלו היא לכתוב סקריפט גיבוי לאחד מהאתרים הגדולים שלי. בניגוד למיליוני הסקריפטים שיש ברשת, אני רציתי לכתוב משהו פשוט מאד – רק סקריפט שיעשה גיבוי עם התאריך, זה הכל.

הנה הסקריפט:


#!/bin/bash
myusername="MYSQL USERNAME"
mypassword="MYSQL PASSWORD"
mydatabase="MY SQL DATABASE"
myfilename="mysqlbackup_launchpoker$mydatabase_$(date +%Y_%m_%d).gz"

mysqldump -u$myusername -p$mypassword -f  $mydatabase |gzip  > $myfilename

echo "finished dumping on $(date)"


את הקובץ הזה שומרים בשם כלשהו (כמו למשל backup.sh) לא נשכח לשנות את ההרשאה לקובץ על מנת שנוכל להריץ אותו:


chmod 755 backup.sh

לאחר שהענקנו הרשאת הרצה לקובץ, אנו בודקים אותו באמצעות backup.sh/. הגיבוי נוצר באותה תיקיה שבה הקובץ נשמר.

אחרי כן אפשר לשים את הקריאה לסקריפט ב-crontab. מקלידים


sudo crontab -e

ואז מכניסים את ה-cron, למשל אצלי רציתי גיבוי יומי שיתקיים כל יום בשעה ארבע וחצי בבוקר ולכן הכנסתי את ה-cron הבא:


30 4 * * * /home/ran/backups/backup.sh 2>&1 >> /home/ran/backups/backup.log


הסינטקס הזה גם מדפיס שגיאות/הודעות ב-backup.log שבתיקיה שלי.

אם אתם משתמשים ב-cron מאד חשוב שה-myfilename יכלול את שם הנתיב המלא שבו יש הרשאות לכתיבה.

ישנו מדריך ממש טוב בעברית ב-penguin.co.il לתכנות bash לכל המעוניינים. די שווה לדעת ולו מעט bash ולו רק בשביל מצבים כאלו.

פוסטים נוספים שכדאי לקרוא

בינה מלאכותית

Safeguards על מודל שפה גדול (LLM)

פוסט בשילוב עם פודקאסט וסרטון על ההגנות שאפשר להציב על LLM בסביבת פרודקשן

פתרונות ומאמרים על פיתוח אינטרנט

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

תמונה של עציץ, רספברי פיי ורמקול
רספברי פיי

לגרום לעציץ שלכם לדבר

כך תשתמשו ברספברי פיי, חיישנים וגם בינה מלאכותית שמותקנת על הרספברי פיי (כן) כדי ליצור… עציץ המדבר.

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

תמונה של הבית הלבן עם מחשוב ענן וטקסט: FEDRAMP
פתרונות ומאמרים על פיתוח אינטרנט

FedRAMP & FIPS מבוא למתחילים

פרק מיוחד, לצד הקלטה של פרק של עושים תוכנה על אחת התקינות החשובות ביותר עבור חברות שסביר להניח שלא הכרתם

גלילה לראש העמוד