1-е сообщение:
Я работаю на сервере Ubuntu 16.В основном у меня запущено приложение.Я использую Plesk, WinSCP и PuTTY для управления сервером, файлами и для запуска этого приложения.Это приложение .jar, которое я выделяю ОЗУ и запускаю.
В этом приложении есть консоль, с которой я запускаю экран в PuTTY.Если приложение падает, мне нужно перейти на этот экран и снова запустить строку, которая выделяет ОЗУ, и снова запустить приложение.
Так вот мой вопрос:
Не могли бы вы помочь мне понять, является ли написанный мной скрипт неправильным или его можно улучшить / оптимизировать?
Предполагается, что в случае сбоя приложения оно автоматически запускается через несколько секунд.Если экран не найден из-за того, что он был выключен, его необходимо сделать заново, чтобы приложение снова запустилось.Если также происходит сбой слишком много раз, то я не знаю, было бы неплохо поместить какой-нибудь код, чтобы предотвратить постоянный перезапуск чего-либо, что каждый раз будет зависать, на случай, если он запускает цикл сбоев.
Это приложение, конечно, находится в каталоге ftp, и я предполагаю, что некоторым частям кода, из того, что я раскрыл, потребуется путь к каталогу / rute (C: / ftpRoot / mainFolder / anotherFolder / appFolder) .
Если мне нужно дать вам дополнительную информацию, просто скажите мне, и я с радостью это сделаю.
Заранее благодарю всех.
Вот .ш у меня на данный момент:
for session in $(screen -ls | grep -o '[0-9]\{3,\}\.\S*')
do
screen -r DedicatedScreen -p0 -X stuff "&9Server is restarting. \015"
screen -r DedicatedScreen -p0 -X stuff "stop\015" #Send "stop\r" to the RunningApp console.
done
counter=0
while [ $(screen -ls | grep -c 'No Sockets foun in') -lt 1 ]; do
if [ $(( $counter % 10)) -eq 0 ]; then
echo 'A previous server is in use. Waiting for 10 seconds before starting server ...'
fi
sleep 1
counter=$((counter+1))
done
echo 'Starting Application...'
screen -dmS "DedicatedScreen" java -Xms1024M -Xmx7168M -jar custom_f.jar
sleep 1
while [ $(screen -ls | grep -c 'No Sokets found in') -ge 1 ]; do
sleep 5
screen -dmS "DedicatedScreen" java -Xms1024M -Xmx7168M -jar custom_f.jar
done
echo 'Application started.'