Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biến

Nếu trên máy chủ Linux xảy ra sự cố gì đó và dẫn đến việc dừng một dịch vụ, chẳng hạn như MySQL, thì có thể dẫn đến tình trạng hoạt động của trang web bị gián đoạn. Điều này xảy ra vì hệ điều hành Linux không tự động khởi động lại các dịch vụ khi chúng bị tắt. Để giải quyết vấn đề này, blog sử dụng một đoạn mã script viết bằng Shell script để kiểm tra xem một dịch vụ cụ thể có đang hoạt động không, và tự động khởi động lại nó nếu nó đã bị tắt.

Script tự động kiểm tra và khởi động Service

Tạo 1 script có đường dẫn /opt/scripts/auto-check-service.sh với nội dung như sau:

#!/bin/bash
SERVICE=<service>
if P=$(pgrep $SERVICE)
then
    echo "$SERVICE is running, PID is $P"
else
    echo "$SERVICE is not running, starting..."
    # start service if not running
    systemctl start $SERVICE
fi

Với <service> là tên service cần kiểm tra, ví dụ: mysqld, nginx,…

Phân quyền cho script

sudo chmod +x /opt/scripts/auto-check-service.sh

Test thử hoạt động của script

Thiết lập Cron Job kiểm tra Service

Thực hiện command sudo crontab -e trên server để thiết lập 1 job tự động kiểm tra từng phút. (Chạy job với quyền của tài khoản root)

# m h  dom mon dow   command
* * * * * /opt/scripts/auto-check-service.sh >/dev/null 2>&1

Kịch bản sẽ tự động thực hiện bởi Tác vụ Cron hàng phút để kiểm tra dịch vụ. Bạn cũng có thể điều chỉnh thời gian của nó theo ý muốn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *