סקריפט בדיקת אתר ב-BASH

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

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

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

אני מצרף את הסקריפט כאן:


#!/bin/bash
pushd /YOUR_DIRECTORY_FULL_PATH
myfilename="FILE_NAME_$(date +"_%d_%H:%M").html"

wget -O $myfilename http://www.example.com

grep_output=`grep 'WELCOME' $myfilename`
if [ "$grep_output" == "" ]; then
   echo "test was OK. tested at $(date +"day: %d hour: %H:%M:%S"). file name created is $myfilename";
else
    echo "ALERT ALERT found at $myfilename. test conducted at $(date +"%d %H:%M:%S")" | mail -aFrom:[email protected] -s ALERT [email protected]
fi

את הסקריפט יש להעתיק לקובץ כלשהו (למשל check.sh), ולשנות את הפרמטרים השונים – כמו שם האתר, שם התיקיה שאליה אנו רוצים לשמור את הקבצים וכן את כתובת המייל ואת המילה שאותה מחפשים (בסקריפט הדוגמא היא WELCOME, אבל זה יכולה להיות כל מחרוזת טקסט כולל HTML).

לאחר השמירה, ניתן לקובץ הרשאות ריצה באמצעות:


chmod 775 check.sh

ניתן לבדוק את הקובץ באמצעות:


./check.sh

אם הכל תקין, הוא ישמור קובץ בתיקיה. אם אנו רוצים שהסקריפט ירוץ מדי פעם, אפשר להכניס אותו אל ה-Cron. למי שלא יודע, Cron זה Daemon קטן בלינוקס שמסוגל להריץ סקריפטים בזמן קצוב. על מנת להריץ את הסקריפט כל דקה, מה שעלינו לעשות זה לכתוב:


crontab -e

ייפתח לנו עורך טקסט דיפולטיבי (בדרך כלל nano) כזה:

Cron
Cron

אנו נוסיף את השורה הזו:


* * * * *       /YOUR_PATH/check.sh

אחרי השמירה והסגירה, הסקריפט ירוץ כל דקה. אם אנחנו רוצים גם כתיבה לקובץ לוג, אז מה שצריך לעשות זה:


* * * * *        /YOUR_PATH/check.sh  >>  /YOUR_PATH/check.log

לא לשכוח לבדוק שיש הרשאת כתיבה לקובץ הלוג.

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

חדשות אינטרנט

אז מה הקטע עם Moltbook?

הרשת החברתית של ״הבוטים״ מכה גלים ברשת. בואו נחטט בקבצי הקוד שלה כדי להבין מה קורה פה ומה זה ההייפ הזה

ממנטו עם גמל אין לי מושג למה אני עושה דברים
יסודות בתכנות

מה זה stateful ו-stateless

מה זה סטייט? למה אנחנו צריכים לדעת מה זה ואיך רואים את זה ממש בעיניים.

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

מה זה Agentic AI או AI Agents

הסבר מקיף המיועד למתכנתים על מה זה סוכני AI ודוגמה שכל אחד יכול להבין.

יסודות בתכנות

הסבר קל ופשוט על Reinforcement Learning

הסבר פשוט למתכנתים שמסביר על איך למידה מחוזקת עובדת – הרבה יותר פשוט ממה שחשבתם ואפשר גם בג׳אווהסקריפט!

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