#!/bin/bash

MITIGATIONS_INTERVAL=720
MITIGATIONS_EXEC="/usr/lib/pakiti-mitigation-probes/pakiti-mitigations"
MITIGATIONS_FILE="/tmp/pakiti_mitigations_output"
MITIGATIONS_PIDFILE="/tmp/pakiti_mitigations_output.pid"
MITIGATIONS_ERRFILE="/tmp/pakiti_mitigations_error_output"


echo '<<<pakiti>>>'
if [ -f /usr/bin/pakiti-client ]; then
    /usr/bin/pakiti-client --site Metacentrum 2> /tmp/pakiti_error_output

    if [[ -s /tmp/pakiti_error_output ]]; then
        echo "ERROR_OUTPUT:"
        cat /tmp/pakiti_error_output
    fi

    if [ -f /usr/lib/pakiti-mitigation-probes/pakiti-mitigations ]; then
        echo "###mitigations###"

        if [[ -s $MITIGATIONS_FILE ]]; then
            cat $MITIGATIONS_FILE
            
        fi

        if [[ -s $MITIGATIONS_ERRFILE ]]; then
            echo "MITIGATIONS_ERROR_OUTPUT:"
            cat $MITIGATIONS_ERRFILE
        fi         
        
        pid=$(cat $MITIGATIONS_PIDFILE 2>/dev/null)
        if [ ${#pid} -gt 0 ] ; then
            ps ax | awk -v PID=$pid '{if($1==PID && $5=="/bin/bash")exit 1}' > /dev/null 2> /dev/null
		    if [ $? -eq 1 ] ; then
                exit
            fi
        fi

        if [[ $(find $MITIGATIONS_FILE -mmin -$MITIGATIONS_INTERVAL 2>/dev/null | wc -l) -gt "0" ]] ; then
            exit
        else
            $MITIGATIONS_EXEC 1> $MITIGATIONS_FILE 2> $MITIGATIONS_ERRFILE & disown
            echo "$!" > $MITIGATIONS_PIDFILE
        fi    
    fi
else 
    echo 'UNKNOWN pakiti client not installed'
fi

