برنامه نویسی

اسکریپت تعمیر و نگهداری: نگه داشتن جعبه لینوکس خود

مقدمه

خوش آمدید ، مهندس محترم ، Noble Sysadmin یا روح شجاع که تازه متوجه شده است که سرور آنها در آتش است. 🎩🔥

تعمیر و نگهداری سیستم مانند مسواک زدن دندان های شما است – می توانید از آن پرش کنید ، اما در نهایت ، این هزینه برای شما خواهد بود. این اسکریپت ، پیاده روی قابل اعتماد شما است ، به صورت خودکار کارهای مهم مانند نظارت بر CPU و استفاده از دیسک ، راه اندازی مجدد خدمات مهم و استفاده از به روزرسانی های امنیتی. آن را به عنوان یک سرایدار کوچک و بی امان برای سیستم لینوکس خود فکر کنید ، قبل از تبدیل شدن به فاجعه ، ظروف سرباز یا مسافر را فرا بگیرید.

این راهنما شما را از طریق کارکردهای فیلمنامه طی می کند ، و اطمینان می دهد که شما به جای اینکه فقط کورکورانه آن را اجرا کنید و به خدایان Bash دعا کنید ، می دانید که هر قطعه چه کاری انجام می دهد.

و نه ، این دانش یک هدر نیست-خواه تازه کار باشید یا یک سیسمین سخت و سخت نبرد باشید ، تسلط بر این مهارت ها باعث می شود شما قهرمان ناخوشایند تیم خود باشید.


چرا این مهم است؟

1. نظارت بر استفاده از منابع

آیا تا به حال سرور آنقدر بد بوده اید که مشکوک هستید که فقط از زندگی خودداری کرده است؟ نظارت بر CPU ، RAM و استفاده از دیسک به شما کمک می کند تا قبل از شروع کار کاربران در توییتر ، مشکل را مشاهده کنید.

این اسکریپت معیارهای سیستم را ثبت می کند و به شما هشدار می دهد وقتی همه چیز به سمت جنوب شروع می شود.

ترتیب. تشخیص تهدیدهای امنیتی

هکرها هرگز نمی خوابند و سیاهههای مربوط به شما اثبات می شوند. حملات بی رحمانه SSH همیشه اتفاق می افتد ، و ورود به سیستم شکست خورده مانند ایمیل های رد از آن کار رویایی که درخواست کرده اید.

این اسکریپت به شما کمک می کند تا به تلاشهای دسترسی غیرمجاز و خطاهای سیستم توجه کنید.

3. اطمینان از اجرای خدمات مهم

تصور کنید که از خواب بیدار می شوید تا متوجه شوید که پایگاه داده شما ساعاتی پیش خراب شده است ، و اکنون رئیس شما در حال تماس است. 😱

این اسکریپت خدمات ضروری را کنترل می کند (به عنوان مثال ، nginx ، mysql) و در صورت پایین آمدن آنها را مجدداً راه اندازی می کند – زیرا انسان به خواب احتیاج دارد ، اما سرورها این کار را نمی کنند.

4. خودکار سازی و به روزرسانی سیستم

پرونده های دما قدیمی فضای هدر می دهد. تکه های امنیتی صرفه جویی در زندگی هستند. این فیلمنامه از هر دو مراقبت می کند ، بنابراین شما مجبور نیستید مانند برخی از دهقان قرون وسطایی این کار را انجام دهید.


شیرجه عمیق به کد

1. تنظیم ورود به سیستم

LOG_FILE="/var/log/system_maintenance.log"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

هر آنچه که اسکریپت در اینجا وارد می شود ، بنابراین می توانید وقتی همه چیز اشتباه شد (یا به رئیس خود ثابت کنید که این تقصیر شما نبود) ردیابی کنید.

2 تعریف متغیرهای مهم

TEMP_DIR="/tmp"
CRITICAL_SERVICES=("nginx" "mysql")
DISK_THRESHOLD=80
CPU_THRESHOLD=75
MEM_THRESHOLD=75
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • temp_dir: جایی که پرونده های دما برای مردن هستند.
  • سرویس های بحرانی_: اگر شگفتی را دوست ندارید ، بیشتر اضافه کنید.
  • آستانه: اعداد فراتر از آن هشدار باید خاموش شوند.

عملکرد ورود به سیستم

log() {
    echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پیام ها را با Timestamps وارد کنید – بنابراین می توانید لحظه دقیقی را که سرور شما بدرفتاری کرده است ، مشخص کنید.

4. نظارت بر منابع سیستم

CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
MEM_USAGE=$(free | awk '/Mem/{printf("%.2f"), $3/$2 * 100}')
DISK_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • بالا: استفاده از CPU را استخراج کنید.
  • رایگان: استفاده از حافظه می شود.
  • DF: فضای دیسک را بررسی می کند.

اگر اعداد از آستانه فراتر رود ، اسکریپت زنگ خطر را بالا می برد:

if (( $(echo "$CPU_USAGE > $CPU_THRESHOLD" | bc -l) )); then
    log "⚠️ High CPU Usage detected: ${CPU_USAGE}%"
fi
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

چک های مشابه برای حافظه و دیسک وجود دارد.

5. تجزیه و تحلیل سیاهههای مربوط به امنیت و خطاها

FAILED_LOGINS=$(grep "Failed password" /var/log/auth.log | wc -l)
SYSTEM_ERRORS=$(grep -i "error" /var/log/syslog | wc -l)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • شمارش تلاشهای ورود به سیستم SSH.
  • اسکن سیستم برای خطاها.

اگر همه چیز ماهی به نظر برسد ، اسکریپت هشدار می دهد:

if [ "$FAILED_LOGINS" -gt 5 ]; then
    log "🚨 Multiple failed SSH login attempts detected!"
fi
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

6. تمیز کردن پرونده های موقت

find "$TEMP_DIR" -type f -atime +7 -delete
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پرونده های دما را قدیمی تر از 7 روز حذف می کند ، زیرا احتکار بد است.

7. راه اندازی مجدد خدمات مهم

for service in "${CRITICAL_SERVICES[@]}"; do
    if systemctl is-active --quiet "$service"; then
        log "✅ $service is running."
    else
        log "⚠️ $service is not running. Restarting..."
        systemctl restart "$service"
        if systemctl is-active --quiet "$service"; then
            log "🔄 Successfully restarted $service."
        else
            log "❌ Failed to restart $service!"
        fi
    fi
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اسکریپت هر سرویس را بررسی می کند و در صورت پایین آمدن آن را مجدداً راه اندازی می کند – زیرا خرابی گران است و مشتریان به بهانه های شما اهمیتی نمی دهند.

8. استفاده از به روزرسانی های سیستم

apt update && apt upgrade -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سیستم خود را بدون مداخله دستی به روز نگه می دارد.

if [ $? -eq 0 ]; then
    log "✅ System updates completed successfully."
else
    log "❌ System updates failed! Check logs."
fi
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

زیرا هیچ کس نرم افزار منسوخ و آسیب پذیر را دوست ندارد.

9. همه چیز را به ترتیب اجرا کنید

main() {
    log "===== System Maintenance Script Started ====="
    monitor_system
    analyze_logs
    optimize_performance
    apply_updates
    log "===== System Maintenance Script Completed ====="
}
main
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

هر عملکرد به ترتیب انجام می شود ، و در حالی که قهوه را مانند یک رئیس می نوشید ، از عملکرد صاف اطمینان می یابد.


خودکار با کرون

برای انجام این اجرا هر روز نیمه شب ، این خط را به Crontab خود اضافه کنید:

0 0 * * * /path/to/script.sh
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

دویدن crontab -e و خط فوق را بچسبانید. بوم تعمیر و نگهداری خودکار


افکار نهایی

این اسکریپت فقط یکی از راه های مختلف برای خودکارسازی نگهداری سیستم است. این یک ابزار ساده و در عین حال مؤثر برای کمک به شما در نظارت و مدیریت بومی سیستم است. روشهای پیشرفته تری وجود دارد ، اما این یک پایه محکم برای درک نحوه عملکرد کارها در زیر کاپوت است.

اتوماسیون مبارک! 🛠

من DestinyObs هستم | iBuild | ideploy | isecure | بیستاستاین

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا