Eu fiz alterações no seu script para criar alguns arquivos de log. E, alguns erros de manipulação, então você acabou de sair em uma das etapas de execução, se falhar. E algumas coisas de estilo menores, desde que eu sou dolorosamente mal com a necessidade de certas coisas de estilo adicionadas.
Observe que faço um diretório em /tmp/
chamado custominstall-logs
para armazenar os logs aqui. Você pode fazer isso onde quiser, mas eu sugiro deixá-lo em /tmp/
(para que, se nenhum erro acontecer, você tenha logs de erros).
Eu sou um pouco exigente sobre estilo e outras coisas, então eu mudei um pouco do seu script e adicionei comentários. (Eu não adicionei verificações de erros para onde seu comentário comentou 'limpar o pacote' é)
#!/bin/bash
mod=$1
defaultType="true"
isJar=${2:-$defaultType}
echo "before killing process mod: $1"
sudo pkill -f "${mod}-api"
echo "module ${mod}"
echo "after process kill"
cd /home/administrator/apps/
# Using an error checking folder in /tmp/... make it.
mkdir /tmp/custominstall-logs/
if [ ${isJar} = "false" ]
then
# echo "Purging debian package"
# sudo dpkg --purge ${mod}-api 2&>1 > /tmp/custominstall-logs/apt-log-purge
# if [ $? -ne 0 ]; then
# echo "Error removing package; please refer to the log file "
# echo "in /tmp/custominstall-logs/apt-log-purge for details."
# exit 1 # Exit with an error code, instead of 0
# fi
echo "Installing debian package"
sudo dpkg --install ${mod}-api*.deb 2&>1 > /tmp/custominstall-logs/apt-log-install
if [ $? -ne 0 ]; then
echo "Error installing package; please refer to the log file "
echo "in /tmp/custominstall-logs/apt-log-install for details."
exit 2 # Exit with an error code, instead of 0
fi
sudo service ${mod}mod start 2&>1 > /tmp/custominstall-logs/service-start-log
if [ $? -ne 0 ]; then
echo "Error starting the service; please refer to the log file "
echo "in /tmp/custominstall-logs/service-start-log for details."
exit 3 # Exit with an error code, instead of 0
fi
else
jarfile=${mod}-api*.jar
echo "$jarfile"
nohup java -Dlogback.configurationFile="$mod-logback.xml" -jar \
${jarfile} &>/dev/null &
fi
# If we didn't exit earlier with an error code, then we exit with
# Code 0 for "Success".
exit 0