Puncte:0

Cum să executați un script de repornire a aplicației ConnectAll folosind un job cron

drapel cn

Ați putea, vă rog, să mă ghidați cu următoarele,

Adăugarea scriptului de repornire a aplicației ConnectAll pentru referință:

#!/bin/sh -e
# Script de pornire JIRA
#chkconfig: 2345 80 05
#descriere: JIRA

# Definiți unele variabile
# Numele aplicației (JIRA, Confluence etc.)
APP=connectall
APP1=Mule
# Numele utilizatorului cu care se rulează
USER=rădăcină
# Locația directorului bin al aplicației
BASE=/mulesoft/connectall/CATomcat/bin
#BASEMule=/mulesoft/connectall/mulesoft/mule-standalone-3.9.0
# Locația Java JDK
exportați JAVA_HOME=/usr/jdk1.8.0_171


cazul „$1” în

 # Comanda de oprire
  Stop)
    #echo „Oprirea $APP”
    #/bin/su -m $USER -c „$BASE/shutdown.sh &> /dev/null”
    #echo „$APP sa oprit cu succes”


    echo „Oprirea $APP1”
    /bin/su -m $USER -c „/mulesoft/connectall/mulesoft/mule-standalone-3.9.0/bin/mule stop &> /dev/null”
    echo „$APP1 s-a oprit cu succes”

    echo „Oprirea $APP”
    /bin/su -m $USER -c „$BASE/shutdown.sh &> /dev/null”
    echo „$APP s-a oprit cu succes”
    ;;

  # Comandă de pornire
  start)
    echo „Se pornește $APP”
    /bin/su -m $USER -c „$BASE/startup.sh &> /dev/null”
    echo „$APP a pornit cu succes”

     echo „Se pornește $APP1”
    /bin/su -m $USER -c „/mulesoft/connectall/mulesoft/mule-standalone-3.9.0/bin/mule start &> /dev/null”
    echo „$APP1 a pornit cu succes”

    ;;
  # Comanda de oprire
 # Stop)
  # echo „Oprirea $APP”
   # /bin/su -m $USER -c „$BASE/bin/shutdown.sh &> /dev/null”
    #echo „$APP sa oprit cu succes”
    #;;
   Comanda #Reporniți
   repornire)
        oprire $0
        dormi 60
        $0 începe
        ;;
  *)
 echo „Utilizare: /etc/init.d/$APP restart}”
  iesirea 1
   ;;
esac

Scriptul de mai sus se află în numele connectall-auto-restart în locația /mulesoft (aceasta este o montură externă). Deci, atunci când execut scriptul manual din locația /mulesoft folosind ./connectall-auto-rstart restart, aplicația repornește bine.

Cu toate acestea, când configurez același lucru într-un job cron ca mai jos

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

cronul rulează exact la momentul respectiv, dar cronul nu inițiază scriptul. (Adică cronul declanșează jobul, dar aplicația mea nu se repornește).

root@balqmu101:/var/log# cat syslog | grep connectall-auto-restart
Sep 18 08:30:01 balqmu101 CRON[3232401]: (root) CMD (/mulesoft/connectall-auto-restart)

De asemenea, am încercat următoarele și nici asta nu funcționează.

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

Salutari Aravind Viswanathan

Puncte:0
drapel it

Locuri de muncă rulează cron, sau systemd Scripturile de pornire nu sunt rulate în același mediu de rulare pe care îl aveți pe desktop. systemd scripturile de pornire sunt rulate ca rădăcină. Nici unul dintre voi CALE modificări sau alte setări ale variabilelor de mediu din ~/.bashrc sunt propagate automat către dvs cron loc de munca. De exemplu, nu există $DISPLAY, deci programele GUI au nevoie de un tratament special (citiți man xhost).

Se pot seta variabile de mediu pentru toate cron locuri de muncă în crontab fişier Citit om 5 crontab.

Uită-te la rezultatele echo "=== id ===";id;echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias în fiecare dintre mediile dumneavoastră.

De când comanda parte a crontab linia este, implicit, interpretată de /bin/sh, care are o sintaxă mai simplă decât /bin/bash, recomand să aveți comanda fii un apel către a bash script (executabil, montat, începe cu #!/bin/bash) care configurează mediul, apoi apelează programul dorit.

Aravind Viswanathan avatar
drapel cn
Bună Waltinator, ești un geniu. Da, sugestia ta a funcționat. Mulțumesc mult.
waltinator avatar
drapel it
Vă rugăm să faceți clic pe bifa pentru a „accepta” răspunsul meu, dacă v-a ajutat și ar putea ajuta pe alții.
Aravind Viswanathan avatar
drapel cn
unde este „accept” pe acest ecran?
waltinator avatar
drapel it
Faceți clic pe bifa.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.