LFCA: איך למזג מדדי מערכת בסיסיים בלינוקס – חלק 8

המאמר הזה הוא חלק 8 מסדרת המאמרים LFCA, כאן בחלק זה, תכיר את עצמך עם פקודות ניהול המערכת הכלליות לניטור מטריקות מערכת בסיסיות ולקביעת משימות מנהליות במערכת Linux.

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

תודה ל־Linux על ספק מספר יעדים של פקודות שורת הפקודה שמאפשרות לך להציץ על מספר מתקן מערכת חיוני ומידע כמו שימוש במעבד ובזיכרון ו־תהליכים בריצה.

בואו נסתכל באופן חולף על כמה מכלי הפקודה שיכולים לעזור לך לעקוב אחר המדדים הבסיסיים של המערכת:

1. פקודת uptime

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

$ uptime

עם האפשרות -s, תקבל את תאריך המערכת ואת הזמן שבו המערכת הופעלה.

$ uptime -s

השתמש באפשרות -p, כדי לקבל רק את זמן ריצת המערכת

$ uptime -p
Check Linux System Uptime

2. פקודת free

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

$ free -h
Check Linux Memory Usage

3. פקודת top

הפקודה top עושה שני דברים: היא מספקת סיכום של המדדים של המערכת בזמן אמת ומציגה את התהליכים הפועלים כעת שניהם ניהלים על ידי לינוקס.

בנוסף להצגת התהליכים הפועלים, הפקודה top משלבת את הפלט שמסופק על ידי הפקודות uptime ו־free שנמצאות בראש הדף.

$ top
Check Linux Running Processes

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

בלינוקס, אפשר להתקין את htop באמצעות הפקודה:

$ sudo apt install htop  [On Debian-based]
$ sudo dnf install htop  [On RHEL-based]

כדי להפעיל את htop פשוט הרץ את הפקודה:

$ htop
htop – an interactive process viewer

4. פקודת df

דיברנו בעבר על כלי ה-df (disk-free) בפקודות בסיסיות של Linux. פקודת ה-df מספקת מידע על השימוש בדיסק הקשיח לפי מערכת הקבצים. השתמש בדגל -Th כדי להדפיס מידע בפורמט שקול לקורא.

$ df -Th
Check Linux Disk Usage

5. צפייה במידע של המעבד

כדי לצפות במידע של המעבד כגון מזהה יצרן, ליבות המעבד, שם הדגם ועוד הרבה יותר, הפעל את הפקודה:

$ cat /proc/cpuinfo
Check Linux Cpu Info

אוטומציה של משימות מנהלת המערכת

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

Cron הוא מתזמן זמן שעוזר לאוטומציה של משימות. המתזמן כולל את הדמון הקרון וקבוצת טבלאות ממנה הוא קורא את התצורה שלו שנקראת crontab. ה-crontab מתאר את המשימות שיש לבצע.

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

Cron Architecture

בואו נצפה בכמה דוגמאות ל-cron ולהפרשתן:

0	12	*	*	*   <command>   Executes a task daily  at noon
30	06	*	*	*   <command>   Executes a task daily  at 6:30 am 
30      *	*	*	*   <command>   Executes a task  every 30 minutes
0	0	*	*	*   <command>   Executes a task  at midnight 
30	06	*	* 	5   <command>  Executes a task at 6:30 am every Fri
*	* 	*	* 	*   <command>  Executes a task every minute
0	0	1	* 	*   <command>  Executes a task at midnight on the first day of every month
0	3 	*	* 	Mon-fri   <command> Executes a task at 3:00am on every day of the week from Monday to Friday.

עכשיו בואו ניצור משימת cron.

ראשית, אנו הולכים ליצור סקריפט גיבוי המגבה את תיקיית ההורדות שלנו ב־/home/tecmint/Downloads לתיקיית /home/documents.

באמצעות העורך vim, ניצור ונפתח את קובץ הסקריפט כפי שמוצג.

$ vim backup.sh

נתחיל עם כותרת שבנג' (shebang) בראש הקובץ כדי לסמן את התחלת הסקריפט בשפת השאל.

#!/bin/bash

הפקודה לגיבוי תיקיית הקבצים מוצגת להלן.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads
File Backup Script

הנתיב הראשון מייצג את הנתיב המלא לקובץ הגיבוי שהוא downloads.tar.gz, בעוד הנתיב השני מצביע על הנתיב של התיקייה שיש לגבות.

שמור את הקובץ על ידי לחיצה על ESC ואז להקליד :wq וללחוץ ENTER.

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

$ chmod +x backup.sh

כדי ליצור משימת cron להפעלת הסקריפט, הפעל את הפקודה הבאה:

$ crontab -e

נגדיר את משימת הכרון להריץ את סקריפט הגיבוי בכל יום בשעה 14:30 כך:

30 14 * * * /home/tecmint/backup.sh
Create Cron Job in Linux

שמור את הקובץ על ידי לחיצה על ESC ואז להקליד :wq וללחוץ ENTER. לאחר יציאה מהקובץ, תקבל הודעת crontab: installing a new crontab המרמזת כי משימת הכרון נאתחלה.

Cron Job Added Succesfully

כדי לרשום את משימות הכרון הנוכחיות, הפעל את הפקודה:

$ crontab -l
List Cron Jobs

לכן, למשימת הגיבוי שלנו, משימת הכרון יצרה בהצלחה קובץ דחוס של תיקיית 'Downloads' בתיקיית 'Documents' כאשר השעון הקדים 14:30.

$ ls Documents/
Verify Backup

אם אין לך רצון עוד להשתמש בג'וב Cron, תוכל למחוק אותו באמצעות הפקודה:

$ crontab -r
סיכום

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

Source:
https://www.tecmint.com/monitor-basic-system-metrics-in-linux/