סקריפט לבדיקת מצב הדיסקים ב NAS
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
לאחרונה התחדשתי ב NAS של QNAP ,
כמו כל דבר שאני קונה, אני אוהב לחפור.
כתבתי סקריפט שמושך נתוני SMART מהדיסקים, בודק את הנתונים ושולח אימייל עם הסטטוס הרלוונטי תקין\לא תקין.
כדיי שהאימייל ישלח, יש לקנפג את המייל ב notification מה GUI ובסקריפט להשתמש באותו חשבון בשורת ה From
נבדק על TS-420 אבל זה לא ממש משנה כי מערכת ההפעלה זהה בין הדגמים ולכן יעבוד גם על דגמים אחרים.
את בדיקת ה smart מקנפגים מה GUI אני מריץ בדיקה לכל אחד מהדיסקים כל לילה ( הבדיקה המהירה rapid ) לוקחת כ 30 שניות לכל דיסק.
אז מה עושים :
צריך להתחבר ל NAS עם משתמש admin באמצעות putty או כל תוכנה חינמית אחרת בפרוטוקול ssh
את הסקריפט צריך להכניס למקום שלא נמחק ב boot אני שמתי אותו ב :
[left]
/share/MD0_DATA/Scripts/send_smart_data.sh
[/left]
כמו כן צריך לקרוא לו מה crontab
[left]
echo "45 3 * * * /share/MD0_DATA/Scripts/send_smart_data.sh" >> /etc/config/crontab
/usr/bin/crontab /etc/config/crontab
/etc/init.d/crond.sh restart
[/left]
מומחי הלינוקס, crontab -e לא שורד reboot או restart של ה daemon אז צריך להשתמש בדרך אחרת בגלל זה הסיבוך היחסי.
להלן הסקריפט
[left]
#!/bin/sh
#
data=/tmp/smart_data
email=/tmp/smartdata-notify.email
check=`cat $data | grep -v HDD | awk '{print $NF}'`
SendTo="[email protected]"
SendFrom="[email protected]"
Subject="S.M.A.R.T. Report from $(/bin/hostname)"
#
#
rm -f $data
rm -f $email
touch $data
touch $email
#
#
prepare () {
echo "From: ${SendFrom}" >> $email
echo "To: ${SendTo}" >> $email
echo "Subject: ${Subject}" >> $email
echo "Sent by SendMail " >> $email
/bin/date >> $email
echo "NAS Model: $(getsysinfo model)" >> $email
echo "Firmware: $(getcfg system version) Build $(getcfg system 'Build Number')" >> $email
echo "System Name: $(/bin/hostname)" >> $email
echo "Workgroup: $(getcfg system workgroup)" >> $email
echo " " >> $email
}
#
#
send_error () {
echo "SMART finished with errors, See details below :" >> $email
cat $data >> $email
cat $email | sendmail -t
}
#
#
send_success () {
echo "SMART finished with no errors" >> $email
cat $email | sendmail -t
}
#
#
drives=$(getcfg Storage 'Disk Drive Number')
for ((i=1;i<=drives;++i)) ; do
echo "HDD $i" >> $data
/sbin/get_hd_smartinfo -d $i >> $data
done
for line in $check
do
if [ $line != "OK" ]
then
prepare
send_error
exit 5
else
i=1
fi
done
#
#
prepare
send_success
#
#
[/left]
כמו כל דבר שאני קונה, אני אוהב לחפור.
כתבתי סקריפט שמושך נתוני SMART מהדיסקים, בודק את הנתונים ושולח אימייל עם הסטטוס הרלוונטי תקין\לא תקין.
כדיי שהאימייל ישלח, יש לקנפג את המייל ב notification מה GUI ובסקריפט להשתמש באותו חשבון בשורת ה From
נבדק על TS-420 אבל זה לא ממש משנה כי מערכת ההפעלה זהה בין הדגמים ולכן יעבוד גם על דגמים אחרים.
את בדיקת ה smart מקנפגים מה GUI אני מריץ בדיקה לכל אחד מהדיסקים כל לילה ( הבדיקה המהירה rapid ) לוקחת כ 30 שניות לכל דיסק.
אז מה עושים :
צריך להתחבר ל NAS עם משתמש admin באמצעות putty או כל תוכנה חינמית אחרת בפרוטוקול ssh
את הסקריפט צריך להכניס למקום שלא נמחק ב boot אני שמתי אותו ב :
[left]
/share/MD0_DATA/Scripts/send_smart_data.sh
[/left]
כמו כן צריך לקרוא לו מה crontab
[left]
echo "45 3 * * * /share/MD0_DATA/Scripts/send_smart_data.sh" >> /etc/config/crontab
/usr/bin/crontab /etc/config/crontab
/etc/init.d/crond.sh restart
[/left]
מומחי הלינוקס, crontab -e לא שורד reboot או restart של ה daemon אז צריך להשתמש בדרך אחרת בגלל זה הסיבוך היחסי.
להלן הסקריפט
[left]
#!/bin/sh
#
data=/tmp/smart_data
email=/tmp/smartdata-notify.email
check=`cat $data | grep -v HDD | awk '{print $NF}'`
SendTo="[email protected]"
SendFrom="[email protected]"
Subject="S.M.A.R.T. Report from $(/bin/hostname)"
#
#
rm -f $data
rm -f $email
touch $data
touch $email
#
#
prepare () {
echo "From: ${SendFrom}" >> $email
echo "To: ${SendTo}" >> $email
echo "Subject: ${Subject}" >> $email
echo "Sent by SendMail " >> $email
/bin/date >> $email
echo "NAS Model: $(getsysinfo model)" >> $email
echo "Firmware: $(getcfg system version) Build $(getcfg system 'Build Number')" >> $email
echo "System Name: $(/bin/hostname)" >> $email
echo "Workgroup: $(getcfg system workgroup)" >> $email
echo " " >> $email
}
#
#
send_error () {
echo "SMART finished with errors, See details below :" >> $email
cat $data >> $email
cat $email | sendmail -t
}
#
#
send_success () {
echo "SMART finished with no errors" >> $email
cat $email | sendmail -t
}
#
#
drives=$(getcfg Storage 'Disk Drive Number')
for ((i=1;i<=drives;++i)) ; do
echo "HDD $i" >> $data
/sbin/get_hd_smartinfo -d $i >> $data
done
for line in $check
do
if [ $line != "OK" ]
then
prepare
send_error
exit 5
else
i=1
fi
done
#
#
prepare
send_success
#
#
[/left]
נערך לאחרונה על ידי Lior_M ב 05/06/2016 23:18, נערך פעם 1 בסך הכל.
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי
- istarmini
- חבר במועדון ה-15K

- תגובות: 17928
- הצטרף: יולי 2008
- נתן תודות: 1146 פעמים
- קיבל תודות: 2493 פעמים
לא הבנתי מה זה ?
יש אפשרות להריץ בדיקת סמארט מובנת בנאס.במידה של תקלה תקבל מייל מהנאס.
מה הסקריפט שכתבת עושה מעבר ?
יש אפשרות להריץ בדיקת סמארט מובנת בנאס.במידה של תקלה תקבל מייל מהנאס.
מה הסקריפט שכתבת עושה מעבר ?
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
·istarmini כתב:לא הבנתי מה זה ?
יש אפשרות להריץ בדיקת סמארט מובנת בנאס.במידה של תקלה תקבל מייל מהנאס.
מה הסקריפט שכתבת עושה מעבר ?...
יואב,
אני לא יודע אם ה SMART מה NAS ישלח מייל אם אחד הערכים בבדיקה של SMART לא יהיה תקין.
כעיקרון אתה יכול להמשיך לקבל סטטוס תקין על הדיסק ולפספס את העובדה שהוא גוסס.
מייל תקבל מה NAS רק שהדיסק יהיה תקול, המטרה פה לעלות על הבעיה לפני.
כעיקרון הסקריפט מבוסס על הבדיקה שאני מניח שאתה עושה באופן מחזורי.
מה שהוא עושה זה קורא את נתוני ה SMART ( אותם נתונים שמופיעים לך ב GUI ) ואם אחד הסטטוסים לא ב OK
אתה מקבל על זה הודעה יחד עם כל הנתונים כדיי שתבין מה לא בסדר.
אם הכל עבר תקין, תקבל מייל שהבדיקה עברה בהצלחה. ככה גם תדע שהבדיקה רצה ..
ממש אבל ממש לא חובה, מתאים לכאלה שאוהבים להתעסק עם לינוקס ולסתם פאראנואידים.
ליאור
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי
- istarmini
- חבר במועדון ה-15K

- תגובות: 17928
- הצטרף: יולי 2008
- נתן תודות: 1146 פעמים
- קיבל תודות: 2493 פעמים
·Lior_M כתב:·......
יואב,
אני לא יודע אם ה SMART מה NAS ישלח מייל אם אחד הערכים בבדיקה של SMART לא יהיה תקין.
כעיקרון אתה יכול להמשיך לקבל סטטוס תקין על הדיסק ולפספס את העובדה שהוא גוסס.
מייל תקבל מה NAS רק שהדיסק יהיה תקול, המטרה פה לעלות על הבעיה לפני.
כעיקרון הסקריפט מבוסס על הבדיקה שאני מניח שאתה עושה באופן מחזורי.
מה שהוא עושה זה קורא את נתוני ה SMART ( אותם נתונים שמופיעים לך ב GUI ) ואם אחד הסטטוסים לא ב OK
אתה מקבל על זה הודעה יחד עם כל הנתונים כדיי שתבין מה לא בסדר.
אם הכל עבר תקין, תקבל מייל שהבדיקה עברה בהצלחה. ככה גם תדע שהבדיקה רצה ..
ממש אבל ממש לא חובה, מתאים לכאלה שאוהבים להתעסק עם לינוקס ולסתם פאראנואידים.
ליאור...
אני זוכר שבזמנו עופר , שמשתמש בסילונגי, סיפר שקיבל במייל התראה שאחד הדיסקים מזייף (עובד אבל לא במייטבו). הגיע הבייתה החליף והכל חזר לקדמותו.
אני מניח שגם ב qnap זה מתאפשר.
בכל מקרה אני הגדרתי סריקת סמארט מלאה אחת לחודש.
אשלח להם מייל ואשאל מענין אותי הענין.
- ziv_r
- עורך ראשי HTmag

- תגובות: 46376
- הצטרף: ינואר 2005
- נתן תודות: 1966 פעמים
- קיבל תודות: 5077 פעמים
זה לא כל כך נכון, הדיווח המובנה ב- QNAP עשיר למדי ומאפשר לשלוח בדואל תוצאות דוח S.M.A.R.T - בלי שום קשר אם אחד הפרמטרים תקין או לא. גם את תדירות הדיווח ניתן לקבוע.Lior_M כתב:אני לא יודע אם ה SMART מה NAS ישלח מייל אם אחד הערכים בבדיקה של SMART לא יהיה תקין.
כעיקרון אתה יכול להמשיך לקבל סטטוס תקין על הדיסק ולפספס את העובדה שהוא גוסס.
מייל תקבל מה NAS רק שהדיסק יהיה תקול, המטרה פה לעלות על הבעיה לפני....
http://docs.qnap.com/nas/4.1/Home/en/in ... _a_r_t.htm
·
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
כתוב זמין לא כתוב ישלח במייל.ziv_r כתב:זה לא כל כך נכון, הדיווח המובנה ב- QNAP עשיר למדי ומאפשר לשלוח בדואל תוצאות דוח S.M.A.R.T - בלי שום קשר אם אחד הפרמטרים תקין או לא. גם את תדירות הדיווח ניתן לקבוע.......
http://docs.qnap.com/nas/4.1/Home/en/in ... _a_r_t.htm
·...
האמן לי מכיר את הדף בקישור שלך.
השאלה היא האם במקרה של בעיה באחד הפרמטרים של הsmart יוגדר הדיסק כתקול. אני מניח שלא הריי בשביל זה יש smart שמאפשר לך לחזות תקלות. הסקריפט לא מחליף את הבדיקה הוא רק בודק את הנתונים בהנחה שיש בדיקה שכבר רצה ושולח לך אותם.
כמובן שלא צריך סקריפט ואפשר להכנס ל gui םעם ביום או בשבוע ולראות מה המצב.
ליאור
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי
- ziv_r
- עורך ראשי HTmag

- תגובות: 46376
- הצטרף: ינואר 2005
- נתן תודות: 1966 פעמים
- קיבל תודות: 5077 פעמים
Lior_M,
ציינת כי אתה לא יודע אם ישלח דוח אם אחד הפרמטרים לא נכון - ומטרת ההודעה שלי באה לומר כי כן ישלח דוח.
גם אם יש פרמטרים לא תקינים באחד הכוננים, זה לא מציין שצריך להחליף את הכונן. עדיין הדוח נשלח בכל מקרה לידיעת המשתמש. מכאן הוא יכול לעשות כרצונו. כמובן שאני מעריך את היוזמה שלך, אבל עדיין לא ראיתי מה ההבדל בין הבדיקה המובנית של QNAP לזאת שכתבת מבחינת התוצאה הסופית. הבדיקה של QNAP יכולה לרוץ במספר רמות ולשלוח דואל עם התוצאות. הסקריפט שלך בודק ואז מה בדיוק?
אין צורך להכנס ל- GUI, כאמור הבדיקה של QNAP רצה לפי תזמון המשתמש. כאשר יש בעיה בכונן, מקבלים דואל במיידי.
ציינת כי אתה לא יודע אם ישלח דוח אם אחד הפרמטרים לא נכון - ומטרת ההודעה שלי באה לומר כי כן ישלח דוח.
גם אם יש פרמטרים לא תקינים באחד הכוננים, זה לא מציין שצריך להחליף את הכונן. עדיין הדוח נשלח בכל מקרה לידיעת המשתמש. מכאן הוא יכול לעשות כרצונו. כמובן שאני מעריך את היוזמה שלך, אבל עדיין לא ראיתי מה ההבדל בין הבדיקה המובנית של QNAP לזאת שכתבת מבחינת התוצאה הסופית. הבדיקה של QNAP יכולה לרוץ במספר רמות ולשלוח דואל עם התוצאות. הסקריפט שלך בודק ואז מה בדיוק?
אין צורך להכנס ל- GUI, כאמור הבדיקה של QNAP רצה לפי תזמון המשתמש. כאשר יש בעיה בכונן, מקבלים דואל במיידי.
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
זיו
הסקריפט שלי לא בודק,
הוא שולף את נתוני ה smart האחרונים, עובר עליהם ושולח אותם באימייל אם משהו לא בסדר.
הסקריפט מניח שהמשתמש הגדיר בדיקת smart מחזורית.
ליאור
הסקריפט שלי לא בודק,
הוא שולף את נתוני ה smart האחרונים, עובר עליהם ושולח אותם באימייל אם משהו לא בסדר.
הסקריפט מניח שהמשתמש הגדיר בדיקת smart מחזורית.
ליאור
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי
- istarmini
- חבר במועדון ה-15K

- תגובות: 17928
- הצטרף: יולי 2008
- נתן תודות: 1146 פעמים
- קיבל תודות: 2493 פעמים
·מה זה שונה מהמובנה בנאס?Lior_M כתב:זיו
הסקריפט שלי לא בודק,
הוא שולף את נתוני ה smart האחרונים, עובר עליהם ושולח אותם באימייל אם משהו לא בסדר.
הסקריפט מניח שהמשתמש הגדיר בדיקת smart מחזורית.
ליאור...
הוא מבצע בדיקת סמארט ובמידה ואחד הערכים לא תקין אתה מקבל התראה למייל ,או שאני לא מבין ?
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
אם מה שאתה אומר נכון אז הסקריפט מיותר.istarmini כתב:·מה זה שונה מהמובנה בנאס?......
הוא מבצע בדיקת סמארט ובמידה ואחד הערכים לא תקין אתה מקבל התראה למייל ,או שאני לא מבין ?...
אני לא משוכנע שזה ככה אבל אשמח להתבדות.
ליאור
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי
- ziv_r
- עורך ראשי HTmag

- תגובות: 46376
- הצטרף: ינואר 2005
- נתן תודות: 1966 פעמים
- קיבל תודות: 5077 פעמים
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
אויש, תפסיקו לקחת את החיים כל כך קשה..kingikra כתב:אם היית מרכיב NAS DIY אז הייתי מבין אבל קנית NAS מחברה שמכבדת את עצמה ואתה צריך לכתוב סקריפטי עזר?
לא בדקתי אז לא יכול לומר אבל נשמע לי מוזר....
כתבתי, נהנתי, זה עובד לי, אני מרוצה וחשבתי לשתף.
בניגוד לחברים פה שבטוחים שהם יקבלו מייל על בעיה בנתוני SMART אני והאינטרנט חושבים אחרת ורק במקרה של תקלה בדיסק ישלח מייל.
כל אחד יעשה מה שנראה לו .
ליאור
[left]
S.M.A.R.T. is short for "Self-Monitoring, Analysis and Reporting Technology". All data is generated by the drive. It is merely a "report", and therefore will never produce an error. (The NAS will detect a drive failure, but it isn't doing so by reviewing the S.M.A.R.T. data).
As an "error" won't trigger this, your best bet might be to simply e-mail your S.M.A.R.T. data to yourself on whatever schedule you find desirable. This can be accomplished with a "script" executed by the Cron task scheduler on your NAS. .
[/left]
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי
-
Lior_M
- חבר שלא מהעולם הזה

- תגובות: 8128
- הצטרף: מרץ 2006
- מיקום: נס-ציונה
- נתן תודות: 418 פעמים
- קיבל תודות: 473 פעמים
·kingikra כתב:אם נהנית זה הכי חשוב. איך אתה בפייטון? אני יכול להעביר לך כמה משימות?...
לאאאאא !
אבל אתה יכול לעזור לי למצוא עוד nas ..
אני לא מאמין שאני אומר את זה אבל ה nas מלא ( 9 טרה )
יש לי עוד ארבעה דיסקים של 3 טרה כל אחד , הדבר ההגיוני ביותר זה לקנות עוד nad
ליאור
בעבר טכנאי סאונד באולפני טריטון כיום עוסק בתחום ההי-טק.
הקולנוע שלי
הקולנוע שלי