Skrypt do restartu aplikacji na tomcat

Skrypt do restartu aplikacji na tomcat
malymakar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Cześć, muszę przygotować skrypt, który będzie miał za zadanie restartować raz w miesiącu aplikację (jedną) na tomcat'ie.
Poszperałem w necie i znalazłem jak mniej więcej to powinni wyglądać, ale nie mam pojęcia jak wprowadzić to w życie.

http://your_server_url:8080/manager/reload?path=/your_app_context

Kopiuj
 # run each day at 01:00
  0 1 * * * wget -O - http://your_server_url:8080/manager/reload?path=/your_app_context >/dev/null 2>&1 

Gdzie i jak mogę tego użyć żeby latało mi z automatu, tzn. restart raz w miesiącu o wyznaczonej godzinie?

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1683
1

w cronie

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
1
Kopiuj
crontab -e

a potem dodaj linijke w stylu 30 23 15 * * skrypt_do_wywolania

Kopiuj
 co w tym wypadku sprawi ze skrypt_do_wywolania bedzie uruchomiony o 23:30 kazdego 15 dnia miesiaca, wiecej informacji np tu http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
malymakar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Mam skrypt:

Kopiuj
wget --http-user=admin --http-password=admin http://jakis_adres/manager/text/reload?path=/myApp
echo "Restart aplikacji " >> /opt/tomcat/webapps/restartLog.txt

Dodaje do Cron'a taką konfigurację (przez crontab -e):

Kopiuj
*/1 * * * * root /bin/bash /opt/tomcat/webapps/autoRestart.sh

No i nie dzieje sie nic :/
W syslog'u mam normalnie, że jest wywoływany co minutę, ale nie tworzy się ani plik z logiem (restartLog.txt), ani aplikacja nie jest restartowana.

Kopiuj
May 22 13:08:01 myApp/USR/SBIN/CRON[5518]: (root) CMD (root /bin/bash /opt/tomcat/webapps/autoRestart.sh)
May 22 13:09:01 myApp/USR/SBIN/CRON[5526]: (root) CMD (root /bin/bash /opt/tomcat/webapps/autoRestart.sh)
May 22 13:10:01 myApp/USR/SBIN/CRON[5532]: (root) CMD (root /bin/bash /opt/tomcat/webapps/autoRestart.sh)

Jeżeli uruchamiam ręcznie skrypt przez bash /opt/tomcat/webapps/autoRestart.sh to jest ok, wykonuje się all.

Gdzie może leżeć problem?

dodanie znaczników <code class="bash"> i <code class="none"> - @furious programming

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
0

a czemu nie dodasz:

Kopiuj
*/1 * * * * /opt/tomcat/webapps/autoRestart.sh
malymakar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Tak też próbowałem na początku, ale efekt jest ten sam, z tym że jak chce ręcznie uruchomić skrypt to tylko z bash'em wchodzi.

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
0

wrzuc

Kopiuj
#!/bin/bash

jako pierwsza linijke swojego skryptu

malymakar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Dodałem i bez zmian :/ Restartowałem tomcata, dałem wszystkie uprawnienia i nic :/

katelx
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Hong Kong
0

to pokombinuj z jakas inna komenda/skryptem ktory robi cos trywialnego

malymakar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Jak robie

Kopiuj
echo "Restart aplikacji " >> /opt/tomcat/webapps/restartLog.txt

to tez nie działa :/

Edit: A tak z innej beczki, wiesz moze jak dodać aktualną date do tego?

dodanie znacznika <code class="bash"> - @furious programming

  • Rejestracja: dni
  • Ostatnio: dni
0

a jak dasz w cronie samo wget --http-user=admin --http-password=admin http://jakis_adres/manager/text/reload?path=/myApp
? Może cron nie ma dostępu do tych plików do których próbujesz się odwołać

malymakar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

Problem rozwiązał się w zasadzie sam... po weekendzie uruchomiłem na nowo tomcata i poszło. Także dzięki za pomoc :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.