403Webshell
Server IP : 66.29.132.122  /  Your IP : 3.145.176.165
Web Server : LiteSpeed
System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : admazpex ( 531)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib64/nagios/plugins/nccustom/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib64/nagios/plugins/nccustom/check-rpmdb-integrity.sh
#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

## check-rpmdb-integrity
## Created by Ihor Bilyi
##       Namecheap

##  This NRPE check "RPM Database Integrity" check the integrity of the RPM database packages file on shared hosting servers.


## Nagios Status
## 0 = OK (RPM database OK)
## 2 = CRITICAL (RPM database is corrupted)
## 3 = UNKNOWN (Max attempts reached)


##input option
PROGNAME=${0##*/}

print_usage() {
    echo ""
    echo "Usage: $PROGNAME  --help"
}

print_help() {
    print_usage
    echo ""
    echo "This check controls the integrity of the RPM database packages file on shared hosting servers (see TOP-1102)"
    echo ""
    echo "--help Print this help screen"
    echo ""
    exit 3
}

while [ $# -gt 0 ]; do

    case "$1" in
        --help)
        print_help
         ;;

        -h)
        print_help
         ;;

        *)
        echo >&2 "Unknown argument: $1"
        print_usage
        exit 3
        ;;

        esac
        shift
done
# Initialize attempt counter
attempt=0
max_attempts=10

while true; do
    if ! pgrep -f '(/yum\s|\syum\s|/dnf\s|\sdnf\s)' > /dev/null; then
        ##check rpmdb file
        timeout -s 9 10m repoquery --quiet --installed -a > /dev/null
        resrc=$?
        break
    else
        echo 'Detected yum\dnf proc'
        attempt=$((attempt + 1))
        if [ "$attempt" -ge "$max_attempts" ]; then
            echo "UNKNOWN (Max attempts reached)"
            exit 3
        fi
        sleep 30
    fi
done

if  [[ ${resrc} -eq 0 ]] ; then
    echo "OK (RPM database OK)"
    exit 0
else
    echo "CRITICAL (RPM database is corrupted)"
    exit 2
fi

Youez - 2016 - github.com/yon3zu
LinuXploit