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. | Takes in a single argument in form of VMID. | ||||||
| 
 | 
 | ||||||
|  | `./watchdog.sh <REPLACE_WITH_VMID>`  | ||||||
|  | 
 | ||||||
| ## Requirements | ## Requirements | ||||||
| Copy/clone code into your directory  | Copy/clone code into your directory  | ||||||
| 
 | 
 | ||||||
| @ -11,9 +13,33 @@ Add exec permission on watchdog.sh | |||||||
| 
 | 
 | ||||||
| `chmod u+x /path/to/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`  | `./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" |         printf "\nStarting VM %s" "$VMID\n" | ||||||
|         #echo ""  # To lazy to fix output spacing  |         #echo ""  # To lazy to fix output spacing  | ||||||
|         /usr/sbin/qm start "$VMID" |         /usr/sbin/qm start "$VMID" | ||||||
|         exit 0 |         exit 1 | ||||||
| 
 | 
 | ||||||
|     ;; |     ;; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 YuruC3
						YuruC3