Skip to content

Instantly share code, notes, and snippets.

@dforocha
Created March 28, 2016 17:38
Show Gist options
  • Save dforocha/629f46f6bd55b111b5ad to your computer and use it in GitHub Desktop.
Save dforocha/629f46f6bd55b111b5ad to your computer and use it in GitHub Desktop.
Script criado para simplificar o acesso via ssh nos servidores da TOTVS
#!/bin/bash
#
# FUNCTION:
# Simplificar o acesso via SSH nos servidores da TOTVS
# Antes de acessar o servidor esse script tenta autenticar na VPN da TOTVS por isso atualize a variável VPN_CONNECTION_NAME com o nome da sua conexão de VPN
# AUTHOR:
# Diego Rocha
# CREATED:
# 28-03-2016
# UPDATES:
# author - date
# - mudança 1
# - mudança 2
# - mudança 3
function help() {
echo "
Esse script foi criado para conectar automaticamente nos servidores da Totvs de forma rápida e simples e se conecta automaticamente na VPN da Totvs.
Sintaxe:
gototvs <ambiente> <server> [\"comando\"]
Lista de Ambientes:
- hmg
- prod
- dev
Lista de Servidores:
- jerico
- jis
- doomsday
- sensu
- salt
- Postgre
Para melhor visualizar as opções use o argumento: -l ou list
Observações:
1. A Conexão de VPN da TOTVS já deve ter sido préviamente criada e salva
2. Setar a variável VPN_CONNECTION_NAME manualmente
"
}
function list() {
echo "Totvs server list:
# Jerico
hmg jerico
prod jerico
dev jerico
# jis
hmg jis
prod jis
dev jis
# doomsday
hmg doomsday
prod doomsday
dev doomsday
# sensu
hmg sensu
prod sensu
dev sensu
# salt
hmg salt
prod salt
dev salt
# Postgre
hmg Postgre
prod Postgre
dev Postgre
Para maiores informações use o help -> --help|-h
"
}
function validate() {
if [ "x$1" == "x" ]
then
list
echo "Digite um ambiente: "
read environment
else
environment=$1
if [ "x$2" == "x" ]
then
list
echo "Digite um ambiente: "
read server
else
server=$2
fi
fi
connect
}
function connect() {
# Colocar aqui o nome da sua conexao de vpn com a Totvs
VPN_CONNECTION_NAME="VPN_Totvs-Cloudficacao"
# Checar status da VPN
# Em caso de retorno, a VPN está ativa
VPN_STATUS="`nmcli con show --active id $VPN_CONNECTION_NAME`"
if [ "x$VPN_STATUS" == "x" ]
then
# Conectar na VPN
nmcli con up id $VPN_CONNECTION_NAME
fi
case $environment in
hmg)
case $server in
jerico)
ssh root@172.18.28.12 "$3";;
jis)
ssh root@172.18.28.13 "$3";;
doomsday)
ssh root@172.18.28.12 "$3";;
sensu)
ssh root@172.19.29.12 "$3";;
salt)
ssh root@172.19.29.11 "$3";;
Postgre)
ssh root@172.19.28.11 "$3";;
*)
echo server invalido ; list;;
esac;;
prod)
case $server in
jerico)
ssh root@172.18.23.12 "$3";;
jis)
ssh root@172.18.23.14 "$3";;
doomsday)
ssh root@172.18.23.12 "$3";;
sensu)
ssh root@172.19.25.12 "$3";;
salt)
ssh root@172.19.25.11 "$3";;
Postgre)
ssh root@172.19.23.11 "$3";;
*)
echo server invalido ; list;;
esac;;
dev)
case $server in
jerico)
ssh root@172.18.32.12 "$3";;
jis)
ssh root@172.18.32.18 "$3";;
doomsday)
ssh root@172.18.32.12 "$3";;
sensu)
ssh root@172.19.33.12 "$3";;
salt)
ssh root@172.19.33.11 "$3";;
Postgre)
ssh root@172.19.32.11 "$3";;
*)
echo server invalido ; list;;
esac;;
*)
echo Ambiente inválido ; list;;
esac
# Desconectar da VPN
nmcli con down id $VPN_CONNECTION_NAME
}
#Main Menu
case $1 in
'list' | '-l' )
list ; exit ;;
'help' | '--help' | '-h' )
help ; exit ;;
*)
validate $1 $2 $3 ;;
esac
@dforocha
Copy link
Author

Script criado para simplificar o acesso via ssh nos servidores da TOTVS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment