یک اسکریپت Bash بنویسید که نام سرویس را به‌عنوان آرگومان دریافت کند، وضعیت آن را با systemctl بررسی کند و در صورت غیرفعال بودن سرویس را ری‌استارت کرده و عملیات را با مهرزمان در یک فایل لاگ ثبت نماید.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:10

0.0

از systemctl (مثلاً systemctl is-active و systemctl restart) برای بررسی و راه‌اندازی مجدد سرویس استفاده کنید، خروجی و کد بازگشت را بررسی کنید و با دستور date و عملیات بازنویسی یا الحاق (>>) پیام‌های لاگ شامل زمان، نام سرویس و نتیجه را در یک فایل لاگ بنویسید. توصیه‌ها: نام سرویس را از $1 بگیرید، قبل از اجرای systemctl با [ -z "$1" ] ورودی را چک کنید، از sudo در صورتی که نیاز به مجوز روت هست استفاده کنید و اسکریپت را با chmod +x قابل اجرا کنید؛ برای اشکال‌زدایی ابتدا از systemctl status و اجراهای دستی برای اطمینان بهره ببرید.

توسط پژوهشگر در 220 روز قبل ساعت 02:10
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arash در 220 روز قبل ساعت 10:45

نکته کلیدی این است که نام سرویس را از آرگومان اول قرار استریپت بگیرید و پیش از اجرا با [ -z "$1" ] بررسی کنید. برای پایداری اسکریپت از set -euo pipefail استفاده کنید و خروجی و کد بازگشتی را با تاریخ و نام سرویس در فایل لاگ ثبت کنید. اگر سرویس فعال نبود، با sudo systemctl restart SERVICE اقدام کنید و نتیجه را با پیام مشخص و کد بازگشتی لاگ کنید. برای اشکال‌زدایی، ابتداً از systemctl status استفاده کنید و اجرای دستی فرمان‌ها را برای بررسی صحت عملکرد و مجوزها انجام دهید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری