finger.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/bin/sh
  2. STATUSFILE='/home/finger/status.txt'
  3. STATUS () {
  4. echo "${*}" >> ${STATUSFILE}
  5. }
  6. wip()
  7. {
  8. echo 'Standby Server.' > ${STATUSFILE}
  9. STATUS ''
  10. STATUS 'Update in progress'
  11. STATUS
  12. STATUS `date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
  13. STATUS
  14. /usr/local/bin/boxes -d important ${STATUSFILE} ${STATUSFILE}.boxes
  15. exit 0
  16. }
  17. [ -r "/tmp/wip.lock" ] && wip
  18. PRESTATUS () {
  19. echo -n "${*}" >> ${STATUSFILE}
  20. }
  21. is_service_running() {
  22. service -j ${1} ${2} status > /dev/null 2>&1
  23. }
  24. echo 'salut la foule!' > $STATUSFILE
  25. echo '' >> $STATUSFILE
  26. service nginx status > /dev/null 2>&1
  27. [ ${?} -ne 0 -a -z "`sockstat -q -lc -6 -p 80 -P tcp`" ] && STATUS 'The server is down' && exit 1
  28. STATUS 'The webserver is running'
  29. STATUS '------------------------'
  30. STATUS
  31. STATUS
  32. STATUS `date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
  33. STATUS
  34. RES='KO'
  35. service unbound status >/dev/null 2>&1 && RES='OK'
  36. STATUS 'DNS : ............ '${RES}
  37. RES='KO'
  38. is_service_running php php_fpm && RES='OK'
  39. STATUS 'Wiki FreeBSD : ............ '${RES}
  40. RES='KO'
  41. is_service_running grav php_fpm && RES='OK'
  42. STATUS 'Blog : ............ '${RES}
  43. RES='KO'
  44. is_service_running forge gogs && RES='OK'
  45. STATUS 'Forge : ............ '${RES}
  46. /usr/local/bin/boxes -d peek ${STATUSFILE} ${STATUSFILE}.boxes
  47. if [ -r "/tmp/wip.plan" ]; then
  48. echo '' >> $STATUSFILE.boxes
  49. echo 'Update scheduled for the evening...' | /usr/local/bin/boxes -d nuke >> $STATUSFILE.boxes
  50. fi
  51. cat << 'EOF' > /jails/grav/usr/local/www/grav/user/pages/04.Status/default.md
  52. ---
  53. title: Services
  54. body_classes: title-center title-h1h2
  55. ---
  56. ## Bienvenue sur `popeye`
  57. ```sh
  58. finger status@dmarec.fr
  59. ```
  60. ```
  61. EOF
  62. cat ${STATUSFILE} >> /jails/grav/usr/local/www/grav/user/pages/04.Status/default.md
  63. echo '```' >> /jails/grav/usr/local/www/grav/user/pages/04.Status/default.md