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