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