Điểm:3

Tập lệnh Bash chạy nhiều lần. không biết tại sao

lá cờ in

Tôi có một tập lệnh bash thực sự đơn giản chạy dưới dạng công việc định kỳ mỗi phút. Nó tạo một bản ghi vào tập tin.Mọi thứ hoạt động tốt nhưng có một điều kỳ lạ. Tập lệnh tạo nhiều nhật ký cùng một lúc. Tôi không hiểu làm thế nào là nó có thể. Đây là mã.

#!/bin/bash


# -c trả về số dòng trong kết quả grep
isActive=$(trạng thái systemctl elaticsearch | grep "đang hoạt động (đang chạy)" -c)

nếu (( $isActive == 0 )) 
sau đó

  systemctl bắt đầu tìm kiếm đàn hồi
  
  dấu thời gian=$(ngày +"%Y-%m-%d %H-%M-%S")
  chạm vào /root/custom-scripts/elasticsearch/start.log
  echo "${timestamp} Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động." >> /root/custom-scripts/elasticsearch/start.log

fi

công việc định kỳ

* * * * * bash /root/custom-scripts/elasticsearch/start-elasticsearch.sh

Tệp nhật ký trông giống như

13-07-2021 17-16-45 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 17-16-45 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 17-16-45 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 17-16-45 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-20-15 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-20-15 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-20-15 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-23-11 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 26-36 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 26-36 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 26-36 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-33-13 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-33-13 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-33-13 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-33-13 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-33-25 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-34-10 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-35-10 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-40-39 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-40-39 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-40-39 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-40-39 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
2021-07-13 16-40-39 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-41-13 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.
13-07-2021 16-42-07 Dịch vụ Elaticsearch phải được khởi động lại bởi /root/custom-scripts/elasticsearch/start-elasticsearch.sh vì trạng thái dịch vụ không hoạt động.

Có ai đó có thể giải thích nó cho tôi? Cảm ơn rất nhiều.

lá cờ hr
Không liên quan đến vấn đề, nhưng systemctl có hành động `is-active` mà bạn có thể kiểm tra trực tiếp ex. `if systemctl --quiet is-active elaticsearch; rồi...`
lá cờ in
Cảm ơn tôi không biết về nó.
lá cờ hr
Điều duy nhất tôi có thể nghĩ đến có thể giải thích những gì bạn đang thấy là nếu tệp elaticsearch.service có `ExecStartPre` hoặc `ExecStartPost` (trực tiếp hoặc gián tiếp) gọi cùng một tập lệnh
lá cờ in
Không hiểu nó. Elaticsearch không biết về tập lệnh.
lá cờ in
Lý do là tôi không quan tâm đến Restart=on-failure và lý do thứ hai là tệp nhật ký hiển thị cho tôi các trường hợp không thành công.
lá cờ in
Uf không cam lòng.... Xin lỗi bà Anh.
lá cờ in
Không biết về systemd.timer. Tôi muốn biết tại sao điều này xảy ra với công việc định kỳ tiêu chuẩn. Tôi không phải là một chuyên gia về Linux. Tôi cần quản lý nó ở "cấp độ của tôi". Mà nên làm việc.
lá cờ ng
Thêm `$$` vào tin nhắn của bạn để hiển thị PID của quy trình, để gỡ lỗi
Điểm:0
lá cờ cn

Tôi sẽ kiểm tra một vài điều:

  1. Có hai hoặc nhiều quá trình cron đang chạy không? Bạn có thể kiểm tra với ps -ef|grep cron
  2. Có điều gì trong /etc/cron.d đang gọi tập lệnh này không? Có vẻ như không thể, nhưng sẽ không hại gì khi kiểm tra.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.