Enviar arquivos para "/"
This commit is contained in:
120
hub
Normal file
120
hub
Normal 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
|
||||
}
|
||||
}
|
||||
# └──────────────────────────────────────────────────────────┘
|
||||
Reference in New Issue
Block a user