Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Kiểm tra và khởi động lại Service trên Linux Server - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

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.

Để lại một bình luận

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 *