Форум русскоязычного сообщества Ubuntu


Автор Тема: Cron  (Прочитано 549 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн radiomonter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Cron
« : 20 Июнь 2021, 07:34:57 »
Доброго времени суток.
у меня установлен ВДС Ubuntu 16
Настроен крон для запуска джава файла и дальнейшего его логирования.Все вроде хорошо.Но нужно сделать так чтоб раз в сутки запущеный джава файл перезапускался.Привожу код запуска.
00 05 * * *  cd /srv/Init-tank.com/;/usr/bin/java -Dfile.encoding=UTF8 -server -jar server_init-tank-0.0.2-captcha_new_terminator.jar >> /srv/log/server.log
00 05 * * *  cd /srv/Init-tank.com/;/usr/bin/java -Dfile.encoding=UTF8 -server -jar security.jar >> /srv/log/security.log
Опишу суть кода: Крон в 05.00 утра переходит в папку /srv/Init-tank.com/ и запускает файл,также записывает лог в файл по пути /srv/log/.
Анологично выполняеться второй скрипт.
Я выбрал крон для того чтобы джава файл запускался без человеческого участия и какой либо консоли.Вот тут у меня и минипроблема.мне нужно этот джава файл раз в сутки убить процесс,перед повотрным запуском .Тоесть до 05.00 примерно в 04.50

Оффлайн radiomonter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #1 : 22 Июнь 2021, 06:52:33 »
Если в Крон добавить killall javaБудет ли он выполняться?
И как это правильно сделать?

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2529
    • Просмотр профиля
Re: Cron
« Ответ #2 : 22 Июнь 2021, 07:55:43 »
Я думаю можно завершать по названию процесса sudo killall <название программы>
Но правильнее завершать в самой  java когда наступает нужное событие.
ps -aux отобразит все процессы если название не меняется можно завершать предложенным ранее способом.

Оффлайн radiomonter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #3 : 22 Июнь 2021, 08:15:28 »
Вся суть в том что все команды я выполняю только в Кроне.Консоль я не использую(верней сказать использую только для отладки)
Попробовал в крон добавить команду killall javaвыглядит это так
25 07 * * * killall java
27 07 * * * cd /srv/Init-tank.com/;/usr/bin/java -Dfile.encoding=UTF8 -server -jar server_init-tank-0.0.2-captcha_new_terminator.jar 2>> /srv/log/server_log.log > /srv/log/s1.log 2> /srv/log/s2.log | tree -a s3.log
27 07 * * * cd /srv/Init-tank.com/;/usr/bin/java -Dfile.encoding=UTF8 -server -jar security.jar >> /srv/log/security_log.log
Получаеться что перед запуском джава файла по времени 07.27 в 07.25 убиваеться процесс java.незнаю правильно я сделал или нет.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4793
  • Capture the truth
    • Просмотр профиля
Re: Cron
« Ответ #4 : 22 Июнь 2021, 11:16:46 »
Но нужно сделать так чтоб раз в сутки запущеный джава файл перезапускался.
Зачем?
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Radeon R7 260X :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн radiomonter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #5 : 24 Июнь 2021, 06:13:38 »
Суть такова.Запущеный java файл являеться игровым сервером.И чтобы небыло ошибок повторного запуска перед этим нужно его выключить.А лучше способа убить процесс я незнаю,и не встречал.

 

Страница сгенерирована за 0.076 секунд. Запросов: 26.