From 944a320e943ae673fd37e382bd7e9c45b7f97a7e Mon Sep 17 00:00:00 2001 From: Robson Tenorio Henriques Date: Thu, 12 Sep 2024 12:10:46 -0300 Subject: [PATCH] Melhoria no atualizador --- UPDATE.sh | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/UPDATE.sh b/UPDATE.sh index cfa31f94..b5396d86 100644 --- a/UPDATE.sh +++ b/UPDATE.sh @@ -1,4 +1,5 @@ #!/bin/bash +VERSION="1.7.3" echo "" echo "██████╗ ██████╗ ███████╗███████╗███████╗ ████████╗██╗ ██████╗██╗ ██╗███████╗████████╗" echo "██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝ ╚══██╔══╝██║██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝" @@ -7,11 +8,67 @@ echo "██╔═══╝ ██╔══██╗██╔══╝ ╚═ echo "██║ ██║ ██║███████╗███████║███████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║ " echo "╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝ " echo " " -echo "ATUALIZANDO PARA A VERSÃO MAIS RECENTE..." +echo -e "\e[92mATUALIZANDO PARA A VERSÃO:\e[0m \e[1m$VERSION\e[0m" echo " " sleep 2 +echo " " +echo "VERIFICANDO A VERSÃO DO UPDATE" +echo " " + +sleep 2 + +extract_version() { + local script="$1" + grep -oP 'VERSION="([^"]+)"' "$script" | cut -d'"' -f2 +} + +TEMP_FILE=$(mktemp) +curl -s https://raw.githubusercontent.com/rtenorioh/Press-Ticket/main/UPDATE.sh >$TEMP_FILE + +if [ $? -ne 0 ]; then + echo "$(date +"%Y-%m-%d %H:%M:%S") - Erro ao baixar o arquivo do GitHub: $TEMP_FILE" >>update.log + echo "Verifique sua conexão com a internet e as credenciais do GitHub." + exit 1 # Encerra o script com código de erro +fi + +REMOTE_VERSION=$(extract_version "$TEMP_FILE") + +if [[ -z "$REMOTE_VERSION" || "$REMOTE_VERSION" > "$VERSION" ]]; then + echo "Versão remota é mais recente ou não foi encontrada. Atualizando..." + cp "$TEMP_FILE" "$0" + "$TEMP_FILE" + echo "$(date +"%Y-%m-%d %H:%M:%S") - Script atualizado para a versão $REMOTE_VERSION" >>update.log +else + echo "O script local está atualizado." + rm "$TEMP_FILE" +fi + +rm "$TEMP_FILE" + +sleep 2 + +echo " " +echo "VERIFICANDO A VERSÃO DO NODE JS" +echo " " + +sleep 2 + +CURRENT_NODE_VERSION=$(node -v | cut -d'v' -f2) + +if [ "$CURRENT_NODE_VERSION" -lt 18 ]; then + echo "Versão do Node.js atual é inferior a 18. Atualizando para a 20.x..." + sudo apt-get remove nodejs + curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - + sudo apt-get install -y nodejs + sudo npm install -g npm +else + echo "Versão do Node.js é 18 ou superior. Prosseguindo com a atualização..." +fi + +sleep 2 + echo " " echo "BAIXANDO AS ATUALIZAÇÕES" echo " " @@ -75,11 +132,10 @@ sleep 2 if [ ! -e src/config.json ]; then echo "Criando o arquivo config.json" cp src/config.json.example src/config.json - else +else echo "O arquivo config.json já existe" fi - sleep 2 echo " " @@ -103,4 +159,4 @@ pm2 restart all echo " " echo "PRESS TICKET ATUALIZADO COM SUCESSO!!!" -echo " " \ No newline at end of file +echo " "