Enviar arquivos para "/"

This commit is contained in:
2024-09-23 09:21:47 -03:00
commit 865b49574c

120
hub Normal file
View File

@@ -0,0 +1,120 @@
#!/bin/bash
# ┌──────────────────────────────────────────────────────────┐
# │ Author: Bruno.Tosta │
# │ Desc: HUB de instalação │
# └─────────────────────────────────────────────{ VARIAVEIS }┘
VERSAO="H11"
REPOSITORIO='download.sigsolucoes.net.br/public/Tosta/ERP/controle'
GNOMO='HUB' && source <(wget -qO- "$REPOSITORIO/config")
# ┌──────────────────────────────────────────────────────────┐
# └─────────────────────────────────────────────────{ MENUS }┘
MenuExecutar(){
unset PACOTES[0]; clear
echo " ┌─────────────── BAIXAR ARQUIVOS ──────────────┐
│ │"
for i in "${!PACOTES[@]}"; do
printf " │ $i │ "${PACOTES[$i]}" │\n"
done
read -p " │ │
└──────────────────────────────────────── $VERSAO ─┘
Escolha uma opção: " EXECUTAR && Executavel
}
MenuAtualizacao(){
clear; read -p "
┌────────────────── ATUALIZAR ─────────────────┐
│ │
│ Existe uma versão do HUB mais recente │
│ Deseja atualizar para a versão mais recente? │
│ S/N │
└──────────────────────────────────────── $VERSAO ─┘
Escolha uma opção: " RESPOSTA
}
MenuStatus(){
clear; echo "
┌──────────────────────────────────────────────┐
│ │
│ $1 │
│ │
└──────────────────────────────────────────────┘
"; sleep 1
}
MenuSudo(){
echo '
┌─────────────────── ATENCAO ──────────────────┐
│ │
│ Necessário logar como usuário root │
│ │
└──────────────────────────────────────────────┘
'; sudo su -s '/bin/bash' -c 'hub'
}
# ┌──────────────────────────────────────────────────────────┐
# └────────────────────────────────────────────────{ OPCOES }┘
Executavel(){
for i in "${!PACOTES[@]}"; do
CASE+="
$i) clear; APLICATIVO=\"${PACOTES[$i]}\"; VerificaArquivo ;;"
done
eval "
case \"\$EXECUTAR\" in
$CASE
*) MenuStatus 'INVALIDO'; MenuExecutar ;;
esac"
}
# ┌──────────────────────────────────────────────────────────┐
# └─────────────────────────────────────────────{ DOWNLOADS }┘
BuscarVersao(){
SERVER=$(wget -qO- "$REPOSITORIO/$APLICATIVO" | grep -oP 'VERSAO="\K[^"]+' | head -1)
CLIENT=$(grep -oP 'VERSAO="\K[^"]+' "/usr/local/bin/$APLICATIVO" | head -1)
}
PerguntarAtualizar(){
BuscarVersao
[ "$SERVER" == "$CLIENT" ] && MenuExecutar || { clear; MenuAtualizacao
while true; do
case "$RESPOSTA" in
S|Sim|s|sim) RealizarAtualizacao; break ;;
N|Nao|n|nao) exit 0 ;;
*) clear; MenuStatus 'INVALIDO'; PerguntarAtualizar;;
esac
done
}
}
RealizarAtualizacao(){
rm "/usr/local/bin/$APLICATIVO"; BaixarArquivos && MenuStatus 'ATUALIZADO'
}
VerificaArquivo(){
[ $APLICATIVO = 'todos' ] && { unset PACOTES[$i];
for ((N=1; N<=${#PACOTES[@]}; N++)); do
APLICATIVO="${PACOTES[$N]}"; VerificaArquivo
done
} || {
[ -x "/usr/local/bin/$APLICATIVO" ] && RealizarAtualizacao || {
BaixarArquivos && MenuStatus 'BAIXADO'
}
}
}
BaixarArquivos(){
wget -q --show-progress -O "/usr/local/bin/$APLICATIVO" "$REPOSITORIO/$APLICATIVO"; chmod 777 "/usr/local/bin/$APLICATIVO"
}
# ┌──────────────────────────────────────────────────────────┐
# └─────────────────────────────────────────────{ PRINCIPAL }┘
USUARIO=$(id -u); [ "$USUARIO" != '0' ] && MenuSudo || {
[ -z "$1" ] && {
APLICATIVO='hub'; PerguntarAtualizar
} || {
while [ -n "$1" ]; do
case "$1" in
-V|-v) MATRIZ=('hub' 'atua' 'backup'); clear;
for ((i=0; i<=2; i++)); do
APLICATIVO="${MATRIZ[$i]}" && BuscarVersao
printf "$APLICATIVO: $CLIENT\n"
done; exit ;;
-U|-u) clear; APLICATIVO='hub'; RealizarAtualizacao; exit ;;
-A|-a) clear; APLICATIVO='atua'; RealizarAtualizacao; exit ;;
-B|-b) clear; APLICATIVO='backup'; RealizarAtualizacao; exit ;;
-O|-o) clear; APLICATIVO='openvpn'; RealizarAtualizacao; exit ;;
*) clear; MenuStatus 'INVALIDO'; MenuExecutar ;;
esac
done
}
}
# └──────────────────────────────────────────────────────────┘