LINUX.ORG.RU
ФорумAdmin

Автозагрузка, скрипт для tmux

 ,


0

1

Работаю по ssh с VPS сервером на SentOS 8.

В директории /home/java есть файл server.class который постоянно должен работать в фоне.

Запускаю tmux new -s screen1

Перехожу в директории cd ../home/java

Запускаю скрипт java server 3000

Получаю сообщение “Started Server port 3000” – сервер запущен и работает.

Теперь я в tmux могу выйти из текущей сессии [Ctrl]+[b] отпустить и далее нажать [d], продолжать работать или даже отключиться от ssh – сервер на java продолжает работать.

Умные люди, подскажите как сделать автозапуск в такой конфигурации с tmux после рестарта SentOS.

И как с помощью cron сделать перезапуск сервера в случае остановки этого java скрипта.

Пробовал делать несколько примеров с интернета – все не работает.


как сделать автозапуск в такой конфигурации с tmux после рестарта SentOS.

Если именно в tmux, то не скажу, а так кури юниты systemd.

И как с помощью cron сделать перезапуск сервера в случае остановки этого java скрипта.

Добавить в crontab команду /bin/systemctl -q is-active твой_юнит || /bin/systemctl start твой_юнит

aureliano15 ★★
()

Предложенный выше вариант с созданием юнита имхо самый адекватный, поскольку tmux то руками придётся запускать.

А для автозапуска чего-нибудь после при старте tmux, можно использовать следующую конструкцию:

# ~/.tmux.conf
new -n "bash" "/bin/bash"
neww -n "ksh" "ksh -l"
ssh2 ★★★★
()

как сделать автозапуск в такой конфигурации с tmux после рестарта SentOS

Напиши баш-скрипт и добавь его в крон.

conservator
()

Для tmux есть плагин, восстанавливающий сессию при запуске:

https://github.com/tmux-plugins/tmux-resurrect

Возможно с ним получится. Тогда нужно будет только tmux автоматом запускать.

afanasiy ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.