finger.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/sh
  2. STATUSFILE='/usr/home/finger/status.txt'
  3. #STATUSFILE='/dev/stdout'
  4. STATUS () {
  5. echo "${*}" >> ${STATUSFILE}
  6. }
  7. wip()
  8. {
  9. echo 'Standby Server.' > ${STATUSFILE}
  10. STATUS ''
  11. STATUS 'Update in progress'
  12. STATUS
  13. STATUS `date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
  14. STATUS
  15. /usr/local/bin/boxes -d important ${STATUSFILE} ${STATUSFILE}.boxes
  16. exit 0
  17. }
  18. [ -r "/tmp/wip.lock" ] && wip
  19. PRESTATUS () {
  20. echo -n "${*}" >> ${STATUSFILE}
  21. }
  22. is_service_running() {
  23. service -j ${1} ${2} status > /dev/null 2>&1
  24. }
  25. echo 'salut la foule!' > $STATUSFILE
  26. echo '' >> $STATUSFILE
  27. service nginx status > /dev/null 2>&1
  28. [ ${?} -ne 0 -a -z "`sockstat -q -lc -6 -p 80 -P tcp`" ] && STATUS 'The server is down' && exit 1
  29. STATUS 'The webserver is running'
  30. STATUS '------------------------'
  31. STATUS
  32. STATUS `date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
  33. STATUS
  34. RES='KO'
  35. is_service_running pg15 postgresql && [ -n "`sockstat -j pg15 -ql4 -p 5432 -P tcp`" ] && RES='OK'
  36. STATUS 'Postgresql : ............ '${RES}
  37. RES='KO'
  38. is_service_running mariadb mysql-server && [ -n "`sockstat -j pg15 -ql4 -p 5432 -P tcp`" ] && RES='OK'
  39. STATUS 'MariaDB : ............ '${RES}
  40. RES='OK'
  41. jexec synapse sockstat -ql -p 8008 -P tcp > /dev/null 2>&1
  42. STATUS 'Matrix synapse : ............ '${RES}
  43. jexec d14 sockstat -qlu | grep -e ".*ruby.*diaspora" > /dev/null 2>&1
  44. [ ${?} -ne 0 ] && RES='KO'
  45. STATUS 'Diaspora* : ............ '${RES}
  46. RES='KO'
  47. is_service_running php php_fpm && RES='OK'
  48. STATUS 'Wiki FreeBSD : ............ '${RES}
  49. RES='KO'
  50. is_service_running epee php_fpm && RES='OK'
  51. STATUS 'Forum Epee : ............ '${RES}
  52. RES='KO'
  53. is_service_running git git_daemon && RES='OK'
  54. STATUS 'serveur git : ............ '${RES}
  55. /usr/local/bin/boxes -d peek ${STATUSFILE} ${STATUSFILE}.boxes
  56. if [ -r "/tmp/wip.plan" ]; then
  57. echo '' >> $STATUSFILE.boxes
  58. echo 'Update scheduled for the evening...' | /usr/local/bin/boxes -d nuke >> $STATUSFILE.boxes
  59. fi