Điểm:0

Cách thực thi tập lệnh khởi động lại Ứng dụng ConnectAll bằng cron Job

lá cờ cn

Bạn có thể vui lòng hướng dẫn tôi với những điều sau đây,

Thêm tập lệnh khởi động lại Ứng dụng ConnectAll để tham khảo:

#!/bin/sh -e
# Kịch bản khởi động JIRA
#chkconfig: 2345 80 05
#mô tả: JIRA

# Xác định một số biến
# Tên ứng dụng (JIRA, Confluence, v.v.)
ỨNG DỤNG=kết nối
APP1=Con la
# Tên của người dùng để chạy như
NGƯỜI DÙNG=gốc
# Vị trí thư mục bin của ứng dụng
CƠ SỞ=/mulesoft/connectall/CATomcat/bin
#BASEMule=/mulesoft/connectall/mulesoft/mule-standalone-3.9.0
# Vị trí của Java JDK
xuất Java_HOME=/usr/jdk1.8.0_171


trường hợp "$1" trong

 # Dừng lệnh
  dừng lại)
    #echo "Đang dừng $APP"
    #/bin/su -m $USER -c "$BASE/shutdown.sh &> /dev/null"
    #echo "$APP đã dừng thành công"


    tiếng vang "Dừng $APP1"
    /bin/su -m $USER -c "/mulesoft/connectall/mulesoft/mule-standalone-3.9.0/bin/mule dừng &> /dev/null"
    echo "$APP1 đã dừng thành công"

    tiếng vang "Dừng $APP"
    /bin/su -m $USER -c "$BASE/shutdown.sh &> /dev/null"
    echo "$APP đã dừng thành công"
    ;;

  # Bắt đầu lệnh
  bắt đầu)
    tiếng vang "Bắt đầu $APP"
    /bin/su -m $USER -c "$BASE/startup.sh &> /dev/null"
    echo "$APP bắt đầu thành công"

     tiếng vang "Bắt đầu $APP1"
    /bin/su -m $USER -c "/mulesoft/connectall/mulesoft/mule-standalone-3.9.0/bin/mule start &> /dev/null"
    echo "$APP1 bắt đầu thành công"

    ;;
  # Dừng lệnh
 # dừng lại)
  # echo "Dừng $APP"
   # /bin/su -m $USER -c "$BASE/bin/shutdown.sh &> /dev/null"
    #echo "$APP đã dừng thành công"
    #;;
   #khởi động lại lệnh
   khởi động lại)
        dừng $0
        ngủ 60
        bắt đầu $0
        ;;
  *)
 tiếng vang "Cách sử dụng: /etc/init.d/$APP khởi động lại}"
  thoát 1
   ;;
thoát hiểm

Đoạn script trên có tên connectall-auto-restart ở vị trí /mulesoft (đây là một mount bên ngoài). Vì vậy, khi tôi thực thi tập lệnh theo cách thủ công từ vị trí /mulesoft bằng cách sử dụng ./connectall-auto-restart restart, ứng dụng sẽ khởi động lại tốt.

Tuy nhiên, khi tôi định cấu hình tương tự trong một công việc định kỳ như bên dưới

30 08 1-7 * 6 /mulesoft/connectall-auto-restart
30 08 17-23 * 6 /mulesoft/connectall-auto-restart

cron chạy chính xác vào thời điểm đó nhưng cron không khởi tạo tập lệnh. (Có nghĩa là cron kích hoạt công việc nhưng ứng dụng của tôi không khởi động lại).

root@balqmu101:/var/log# cat syslog | grep connectall-auto-restart
Ngày 18 tháng 9 08:30:01 balqmu101 CRON[3232401]: (root) CMD (/mulesoft/connectall-auto-restart)

Tôi cũng đã thử những cách sau và nó cũng không hoạt động.

30 08 1-7 * 6 /mulesoft/connectall-auto-restart khởi động lại
30 08 17-23 * 6 /mulesoft/connectall-auto-restart khởi động lại

Trân trọng Aravind Viswanathan

Điểm:0
lá cờ it

Công việc chạy qua cron, hoặc hệ thống tập lệnh khởi động không chạy trong cùng một môi trường thời gian chạy mà bạn có trên máy tính để bàn của mình. hệ thống kịch bản khởi động được chạy như nguồn gốc. Không ai trong số bạn CON ĐƯỜNG thay đổi hoặc cài đặt biến môi trường khác từ ~/.bashrc được tự động lan truyền đến bạn cron Công việc. Ví dụ, không có $HIỂN THỊ, vì vậy các chương trình GUI cần được xử lý đặc biệt (đọc người đàn ông xhost).

Người ta có thể đặt các biến môi trường cho tất cả mọi người cron công việc trong crontab tập tin Đọc người đàn ông 5 crontab.

Nhìn vào kết quả của echo "=== id ==="; id;echo "=== set ==="; set; echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh trong mỗi môi trường của bạn.

Kể từ khi chỉ huy một phần của crontab theo mặc định, dòng được giải thích bởi /bin/sh, có cú pháp đơn giản hơn /bin/bash, tôi khuyên bạn nên có chỉ huy là một cuộc gọi đến một đánh đập tập lệnh (có thể thực thi, được gắn kết, bắt đầu bằng #!/bin/bash) thiết lập môi trường, sau đó gọi chương trình mong muốn.

Aravind Viswanathan avatar
lá cờ cn
Xin chào Waltinator, Bạn là một thiên tài. Có đề nghị của bạn làm việc. Cảm ơn rất nhiều.
waltinator avatar
lá cờ it
Vui lòng nhấp vào dấu kiểm để "chấp nhận" câu trả lời của tôi, nếu nó giúp bạn và có thể giúp người khác.
Aravind Viswanathan avatar
lá cờ cn
"chấp nhận" trên màn hình này ở đâu?
waltinator avatar
lá cờ it
Nhấp vào dấu kiểm.

Đă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.