watchdog.bash 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/bash
  2. ##
  3. ## Monitora serviços para garantir que estão online
  4. ## Exemplo de uso em https://iikb.org/forum/Zeronet/
  5. ## Adicionar uma linha semelhante na crontab para rodar de 5 em 5 minutos:
  6. ## */5 * * * * /home/user/bin/watchdog.bash
  7. ##
  8. ## Domínio Público igreja insurgente Kopimista Brasileira 2016-2017
  9. ## Use por conta e risco. Em caso de cagada, o problema é teu.
  10. ##
  11. SERVICOS_ICECAST=( \
  12. "icecast2" \
  13. "ices2-akasha" \
  14. "ices2-balaio" \
  15. "ices2-cymatic" \
  16. "ices2-lapirata" \
  17. "ices2-theerm" \
  18. )
  19. SERVICOS_MEDIAGOBLIN=( \
  20. "mediagoblin-paster" \
  21. "mediagoblin-celeryd" \
  22. )
  23. SERVICOS_WEB=( \
  24. "nginx" \
  25. "apoio" \
  26. "zeronet" \
  27. "ipfs" \
  28. "tor" \
  29. )
  30. SERVICOS_CRYPTO=( \
  31. "bfgminer" \
  32. "cgminer" \
  33. "pivx" \
  34. "libraryd" \
  35. "florincoin" \
  36. )
  37. ## Comentar serviços que não estejam no servidor é opcional para diminuir o spam de erros nos logs do sistema
  38. SERVICOS=( \
  39. "${SERVICOS_ICECAST[@]}" \
  40. "${SERVICOS_MEDIAGOBLIN[@]}" \
  41. "${SERVICOS_WEB[@]}" \
  42. "${SERVICOS_CRYPTO[@]}" \
  43. )
  44. if [ "$(whoami)" == 'root' ]
  45. then
  46. for SERVICO in "${SERVICOS[@]}"
  47. do
  48. /bin/systemctl is-active "${SERVICO}".service || /bin/systemctl start "${SERVICO}".service
  49. done
  50. else
  51. echo "Script de gente grande é só pra super vacas."
  52. fi