Added newest edits.
This commit is contained in:
parent
f3c38664fe
commit
5db23fb0e5
30
README.md
30
README.md
@ -4,6 +4,8 @@ A bash script working as a helthcheck for a VM.
|
||||
|
||||
Takes in a single argument in form of VMID.
|
||||
|
||||
`./watchdog.sh <REPLACE_WITH_VMID>`
|
||||
|
||||
## Requirements
|
||||
Copy/clone code into your directory
|
||||
|
||||
@ -11,9 +13,33 @@ Add exec permission on watchdog.sh
|
||||
|
||||
`chmod u+x /path/to/watchdog.sh`
|
||||
|
||||
## Examples
|
||||
## What's bck_watchdog
|
||||
It's for a pretty specific usecase when you have HA opnsense running in 2 vm's.
|
||||
|
||||
`./watchdog.sh <REPLACE_WITH_VMID>`
|
||||
If both VM's go down then this would start a third "emergency" VM running OPNSense.
|
||||
|
||||
## Examples
|
||||
|
||||
`./watchdog.sh 100`
|
||||
|
||||
### Crontab
|
||||
|
||||
`
|
||||
*/5 * * * * /bin/bash /path/to/watchdog.sh 100
|
||||
`
|
||||
|
||||
This will check every 5 minutes if a VM us runninig.
|
||||
|
||||
### Crontab with bck_watchdog
|
||||
|
||||
```
|
||||
*/5 * * * * /bin/bash /path/to/watchdog.sh 100
|
||||
|
||||
*/2 * * * * /bin/bash /path/to/watchdog.sh 1003
|
||||
|
||||
*/2 * * * * /bin/bash /path/to/watchdog.sh 1004
|
||||
```
|
||||
|
||||
This will check the HA 2 nodes every 2 minutes and backup one every 5 minutes.
|
||||
|
||||
where 1003 and 1004 are main HA nodes and 100 is the backup.
|
39
bck_watchdog.sh
Normal file
39
bck_watchdog.sh
Normal file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
ORIGINGW=<VM_ID>
|
||||
GW1=<VM_ID>
|
||||
GW2=<VM_ID>
|
||||
|
||||
# check if $ORIGINGW exists
|
||||
|
||||
if [[ -z $ORIGINGW ]]
|
||||
then
|
||||
echo "Pass a VMID."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#------------------------------------------------
|
||||
# CONSTS
|
||||
VMID="$1"
|
||||
QMSTAT="$(/usr/sbin/qm status $ORIGINGW )" > /dev/null
|
||||
|
||||
#------------------------------------------------
|
||||
# CODE
|
||||
|
||||
# check if container exists
|
||||
if echo $QMSTAT | grep "not exist"
|
||||
then
|
||||
printf "\nNo such VM!\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#VMSTATE=$(echo "$QMSTAT" | awk '{print $2}')
|
||||
#echo $VMSTATE
|
||||
|
||||
if [[ $(/bin/bash /root/./vm_check.sh $GW1) == 1 ]] && [[ $(/bin/bash /root/./vm_check.sh $GW2) == 1 ]]
|
||||
then
|
||||
#/usr/sbin/qm start "$VMID"
|
||||
echo "EMERGENCY START OF ORIGINAL GATEWAY"
|
||||
exit 0
|
||||
fi
|
@ -39,7 +39,7 @@ case $VMSTATE in
|
||||
printf "\nStarting VM %s" "$VMID\n"
|
||||
#echo "" # To lazy to fix output spacing
|
||||
/usr/sbin/qm start "$VMID"
|
||||
exit 0
|
||||
exit 1
|
||||
|
||||
;;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user