Skip to content

Instantly share code, notes, and snippets.

@shellscriptx
Last active March 8, 2018 04:12
Show Gist options
  • Save shellscriptx/99a929f2826e03b1daf657b1f1edeb6e to your computer and use it in GitHub Desktop.
Save shellscriptx/99a929f2826e03b1daf657b1f1edeb6e to your computer and use it in GitHub Desktop.
#!/bin/bash

while IFS=',' read ip src dest porta msg ; do
  
  ERROS=/usr/lib/cgi-bin/logs/errosbkp---$ip---`date +%d-%m-%Y`.log
  BACKUP=/usr/lib/cgi-bin/logs/backup---$ip---`date +%d-%m-%Y`.log
  MONIT=/usr/lib/cgi-bin/logs/monitoramento---$ip---`date +%d-%m-%Y`.log
  
  # Rediciona o descritor de erro para o arquivo.
  # Todos os erros são gravados automaticamente.
  
  # Faz backup do descritor de erro
  exec 4<&2
  
  # Rediciona o descritor.
  exec 2>> $ERROS
  
  echo "BACKUP INICIO $ip"
  
  echo "rsync" &&
  rsync ... &&
  echo "ssh" && 
  ssh ... && {
    # OS CÓDIGOS SE TODAS AS TAREFAS FORAM REALIZADAS COM SUCESSO.
    ShellBot.sendMessage 'backup bem sucedido' ...
  } || {
    # ERRO
    # TRATA O ERRO AQUI.
    ShellBot.sendMessage 'Ocorreu um erro no backup' ...
    
    # PULA PARA O PRÓXIMO HOST.
    continue
  }
done

# restaura o descritor de erro.
exec 2<&4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment