1
0

update.sh 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. #!/bin/bash
  2. #########################################################################
  3. # Script for check and update OS & APP #
  4. # Created by PM-DoIT #
  5. #########################################################################
  6. #------------------------------ VARIABLES ------------------------------#
  7. VER="0.6"
  8. #------------------------------- SYSTEM --------------------------------#
  9. checkhw(){
  10. SRV=$(hostname -s)
  11. OS=$(lsb_release -d | awk '{print $2,$4,$5}')
  12. if [ -f /proc/device-tree/model ]; then
  13. MOD=$(cat /proc/device-tree/model | awk '{print $1,$2,$3,$4,$5}')
  14. else
  15. MOD=$(cat /sys/devices/virtual/dmi/id/product_name)
  16. fi
  17. }
  18. #------------------------------ CHECKING -------------------------------#
  19. checkos(){
  20. echo "==============================================="
  21. echo -e "- \e[1;35mACTUAL script version [$VER] on [$SRV]\e[0m"
  22. echo "==============================================="
  23. echo -e "- \e[1;36mMODEL\e[0m version \e[1;36m[$MOD]\e[0m"
  24. echo -e "- \e[1;36mOS\e[0m version \e[1;36m[$OS]\e[0m"
  25. echo "==============================================="
  26. echo -e "- \e[1;33mUPGRADE [OS] PACKAGES\e[0m"
  27. echo "==============================================="
  28. test -f /usr/bin/apt && /usr/bin/pkill apt
  29. test -f /usr/bin/apt && apt-get upgrade -y
  30. test -f /usr/bin/yum && /usr/bin/pkill yum
  31. test -f /usr/bin/yum && yum update -y
  32. sleep 2
  33. if [ -f /home/updateap.sh ]; then
  34. echo "==============================================="
  35. echo -e "- \e[1;33mUPGRADE [ADGUARD]\e[0m"
  36. echo "==============================================="
  37. /home/updateap.sh
  38. sleep 2
  39. fi
  40. }
  41. checkserv(){
  42. echo "==============================================="
  43. echo -e "- \e[1;32mCHECK [SYSTEM] SERVICES\e[0m"
  44. echo "==============================================="
  45. monit summary
  46. sleep 2
  47. }
  48. checkmail(){
  49. echo "==============================================="
  50. echo -e "- \e[1;32mCHECK [BLOCKED] EMAILS\e[0m"
  51. echo "==============================================="
  52. mailq
  53. sleep 2
  54. echo "==============================================="
  55. echo -e "- \e[1;33mREMOVE [BLOCKED] EMAILS\e[0m"
  56. echo "==============================================="
  57. postsuper -d ALL
  58. sleep 2
  59. }
  60. checkbck(){
  61. if [ -d /backup/ ]; then
  62. echo "==============================================="
  63. echo -e "- \e[1;32mCHECK [LOCAL] BACKUPS\e[0m"
  64. echo "==============================================="
  65. ls -laftr /backup/*.gz | grep "$(date +%m)" | tail -4
  66. sleep 2
  67. fi
  68. if [ -d /home/cisco/backups/ ]; then
  69. echo "==============================================="
  70. echo -e "- \e[1;32mCHECK [CISCO] BACKUPS\e[0m"
  71. echo "==============================================="
  72. find /home/cisco/backups/ -type f -exec ls -t \{\} \+ | head | sort
  73. sleep 2
  74. fi
  75. if [ -d /var/lib/unifi/backup/autobackup/ ]; then
  76. echo "==============================================="
  77. echo -e "- \e[1;32mCHECK [UNIFY] BACKUPS\e[0m"
  78. echo "==============================================="
  79. ls -laFtr /var/lib/unifi/backup/autobackup/ | grep "$(date +%Y%m)" | tail -2
  80. sleep 2
  81. fi
  82. if [ -d /var/lib/ipa/backup/ ]; then
  83. echo "==============================================="
  84. echo -e "- \e[1;32mCHECK [IPA] BACKUPS\e[0m"
  85. echo "==============================================="
  86. ls /var/lib/ipa/backup/ | tail -3
  87. sleep 2
  88. fi
  89. if [ -d /backupDB/ ]; then
  90. echo "==============================================="
  91. echo -e "- \e[1;32mCHECK [DB] BACKUPS\e[0m"
  92. echo "==============================================="
  93. find /backupDB/ -name \*.gz -print | grep "\-$(date +%m)-" | tail -5
  94. sleep 2
  95. fi
  96. if [ -d /opt/backup/ ]; then
  97. echo "==============================================="
  98. echo -e "- \e[1;32mCHECK [GLOBAL] BACKUPS\e[0m"
  99. echo "==============================================="
  100. find /opt/backup/ -type f -exec ls -t \{\} \+ | head
  101. sleep 2
  102. fi
  103. if [ -f /home/pve_backup.sh ]; then
  104. sed -i '/clear/d' /home/pve_backup.sh
  105. echo "==============================================="
  106. echo -e "- \e[1;32mCHECK [PVE] BACKUPS\e[0m"
  107. echo "==============================================="
  108. /home/pve_backup.sh
  109. sleep 2
  110. fi
  111. }
  112. checkhdd(){
  113. if [ -f /home/raid.sh ]; then
  114. sed -i '/clear/d' /home/raid.sh
  115. echo "==============================================="
  116. echo -e "- \e[1;32mCHECK [HDD] STATUS\e[0m"
  117. echo "==============================================="
  118. /home/raid.sh
  119. sleep 2
  120. fi
  121. }
  122. checkclus(){
  123. if [ -f /usr/sbin/pcs ]; then
  124. echo "==============================================="
  125. echo -e "- \e[1;32mCHECK [WEB] CLUSTER\e[0m"
  126. echo "==============================================="
  127. pcs cluster status | tail -2 | column -t
  128. sleep 2
  129. fi
  130. }
  131. checkweb(){
  132. if [ -f /home/check_certifcate.sh ]; then
  133. sed -i '/clear/d' /home/check_certifcate.sh
  134. echo "==============================================="
  135. echo -e "- \e[1;32mCHECK [WEB] CERTIFICATES\e[0m"
  136. echo "==============================================="
  137. /home/check_certifcate.sh
  138. sleep 2
  139. fi
  140. }
  141. checkdmsg(){
  142. DMS=$(dmesg --level=emerg,alert,crit,err | head -1 | awk '{print $1}')
  143. if [ ! -z $DMS ]; then
  144. echo "==============================================="
  145. echo -e "- \e[1;33mCHECK [DMSG] ERROR LOGS\e[0m"
  146. echo "==============================================="
  147. dmesg --level=emerg,alert,crit,err --ctime
  148. sleep 2
  149. fi
  150. }
  151. cleanos(){
  152. echo "==============================================="
  153. echo -e "- \e[1;33mCLEAN SERVER [$SRV]\e[0m"
  154. echo "==============================================="
  155. test -f /home/clean.sh && sed -i '/clear/d' /home/clean.sh
  156. test -f /home/clean.sh && /home/clean.sh
  157. history -c
  158. echo "==============================================="
  159. }
  160. #-------------------------------- CORE ---------------------------------#
  161. clear
  162. checkhw
  163. checkos
  164. checkserv
  165. checkmail
  166. checkbck
  167. checkhdd
  168. checkclus
  169. checkweb
  170. checkdmsg
  171. cleanos