Aligan

Untitled

Apr 28th, 2022 (edited)
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.70 KB | None | 0 0
  1. #!/bin/bash
  2. set -euo pipefail
  3.  
  4. #########################################Oleg servers#########################################
  5.  
  6. ##### exemple of start script: ./DAYS_server_Notification_shutdown_delete.sh 9 10 14 15 ######
  7.  
  8. #########################################Zabbix-server########################################
  9.  
  10. #days_shutdown_notification=$1-1
  11. days_shutdown_notification=$1(($days_shutdown_notification-1))
  12. days_shutdown=$1
  13. days_notification_deleting=$1+4
  14. days_delete=$1+5
  15.  
  16. #Date in seconds from hetzner main host server
  17. host_seconds=$(date +"%s")
  18. echo This is an automatic message.
  19. echo -------------------------------------------------------------------------------------------
  20. echo The number of seconds since the epoch $host_seconds in seconds. Date from main hetzner host.
  21. echo -------------------------------------------------------------------------------------------
  22.  
  23. #Date from virtual server hetzner in fomat  Mon Mar 28 07:19:50 UTC 2022
  24. vs_date=$(hcloud server describe Zabbix-server | sed -n 's/^Created:\([^(]*\).*$/\1/p')
  25. echo Date created of Zabbix-server is $vs_date
  26. echo -------------------------------------------------------------------------------------------
  27.  
  28. #Date from virtual server hetzner in Seconds
  29. vs_server_seconds=$(date -s "${vs_date}" +%s)
  30. echo Zabbix-server uptime is $vs_server_seconds in seconds
  31. echo -------------------------------------------------------------------------------------------
  32.  
  33. #Comparing dates in seconds between the host server and the virtual server
  34. day_diff=$((($host_seconds - $vs_server_seconds)/86400)) # Number of seconds in a day = 86,400.
  35. echo Zabbix-server uptime is - $day_diff - days. If server do not using ${days_shutdown} days, then server Zabbix-server will be shutdown, if ${days_delete} days, server will be deleted.
  36. echo -------------------------------------------------------------------------------------------
  37.  
  38. #Notification of shutdown
  39. if [ $day_diff -eq ${days_shutdown_notification} ]
  40. then
  41.   mutt -s "Server shutdown notification" user@mail.com  <<< "Your server Zabbix-server will be switched off after 1 (one) day"
  42. fi
  43.  
  44. #Server shutdown
  45. if [ $day_diff -eq ${days_shutdown} ]
  46. then
  47.   mutt -s "Server shutdown" user@mail.com <<< "Your server Zabbix-server has been shut down."
  48.   hcloud server poweroff Zabbix-server
  49. fi
  50.  
  51. #Notification of deleting
  52. if [ $day_diff -eq ${days_notification_deleting} ]
  53. then
  54.   mutt -s "Server deleting  notification" user@mail.com  <<< "Your server Zabbix-server will be deleted after 1 (one) day"
  55. fi
  56.  
  57. #Server deleting
  58. if [ $day_diff -eq ${days_delete} ]
  59. then
  60.   mutt -s "Server delete" user@mail.com <<< "Your server Zabbix-server has been deleted."
  61.   hcloud server delete Zabbix-server
  62.  
  63. fi
Add Comment
Please, Sign In to add comment