איך אני אוטומציה של משימות בסיסיות בלינוקס עם סקריפטים של bash - ולמה כדאי לך לנסות את זה


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

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

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

האם אתה מוכן לזה? בואו נעשה את זה.

כיצד להשתמש בסקריפטים של bash כדי להפוך משימות לאוטומטיות בלינוקס

מה תצטרך: הדברים היחידים שתצטרך בשביל זה הם לפחות שתיים או שלוש מכונות לינוקס (באותו LAN) ומשתמש עם הרשאות sudo. זהו.

1. כתוב את התסריט

פתח חלון מסוף וצור את הסקריפט עם הפקודה:

nano updates.sh 

הדבק את הפרטים הבאים בקובץ:

#!/bin/bash 

Define your remote servers with comma-separated IP addresses servers=("SERVER1", "SERVER2")

Define the update command (make sure to edit this to conform to your package manager) update_command="sudo apt-get update && sudo apt-get upgrade -y"

Loop through each server and execute the update command for server in "${servers[@]}"; do echo "Updating server $server..." ssh USER@$server "$update_command" done

echo "Updates completed on all servers."

כאשר SERVER1 ו-SERVER2 הן כתובות ה-IP של המחשבים המרוחקים, ו-USER הוא שם המשתמש המרוחק שלך.

הוספתי הערות בתסריט כדי לעזור להסביר מה קורה.

שמור וסגור את הקובץ.

2. הענק לקובץ ה- Script הרשאות הפעלה

כדי להפעיל את קובץ ה- Script, עליך להעניק לו הרשאות הפעלה באמצעות הפקודה:

chmod u+x update.sh 

3. צור זוג מפתחות SSH

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

ssh-keygen -t rsa 

תתבקש להקליד ולאמת סיסמה עבור המפתח. הקפד לעשות זאת.

4. העתק את המפתח הציבורי שלך למחשבים המרוחקים

כדי שאימות מפתח SSH יפעל, עליך להעתיק את המפתח הציבורי לכל השרתים שיפיקו תועלת מקובץ ה- Script. לשם כך, הוציא את הפקודה:

ssh-copy-id USER@SERVER 

כאשר USER הוא שם המשתמש המרוחק שלך, ו-SERVER היא כתובת ה-IP של השרת הראשון.

בצע את אותו הדבר עבור כל השרתים שאליהם תתחבר מתוך קובץ ה- Script.

5. הפעל סוכן ssh

כדי שזה יעבוד בהצלחה, עליך להתחיל סשן ssh-agent, אשר שומר באופן זמני את סיסמת מפתח ה- SSH שלך כך שלא תצטרך להקליד אותה עבור כל שרת ברשימה. כדי להתחיל הפעלה, הוצא את הפקודה

eval `ssh-agent` 

לאחר מכן, הוסף את סיסמת מפתח ה-SSH שלך עם:

ssh-add ~/.ssh/id_rsa 

תתבקש להזין את סיסמת מפתח ה-SSH שלך.

6. הפעל את קובץ ה- Script

כעת באפשרותך להריץ את קובץ ה- Script באמצעות הפקודה:

./update.sh 

לא תתבקש להזין את סיסמת המשתמש המרוחק שלך מכיוון שאתה נמצא בהפעלת סוכן ssh שיכולה לנהל משא ומתן על מסירת הסיסמה עבורך. אין זה משנה כמה שרתים הגדרת עבור קובץ ה- Script; כל עוד הם מודעים לצמד המפתחות של SSH, והוספת את הסיסמה לסשן סוכן ה-SSH, הכל יעבור ללא תקלות.

כעת תוכל לקחת קובץ Script זה ולשנות אותו בכל דרך שתרצה, או ליצור קבצי Script משלך ולהשתמש באימות מפתח SSH ו- ssh-agent כדי לפשט את תהליך האוטומציה.