Project

General

Profile

« Previous | Next » 

Revision 0b7d8165

Added by Benoît PECCATTE over 6 years ago

Fixes #11125: When we have a /var full, Rudder LDAP or Postgres can be corrupted

View differences:

rudder-agent/SOURCES/check-rudder-agent
fi
}
check_varspace() {
# check max space available for databases and stop if there is a risk
ldap_space=$(df /var/rudder/ | tail -n 1 | awk '{print $5}' | sed 's/%//')
if [ "${ldap_space}" -gt 98 ]; then
stop_now=1
fi
if [ -d /var/lib/postgresql/ ]; then
psql_space=$(df /var/lib/postgresql/ | tail -n 1 | awk '{print $5}' | sed 's/%//')
if [ "${psql_space}" -gt 98 ]; then
stop_now=1
fi
fi
if [ "${stop_now}" = 1 ]; then
service rudder stop
echo "FATAL: No space left on device" | logger -s
echo "FATAL: Rudder has been stopped to prevent data corruption" | logger -s
exit 1
fi
}
# Ensure script is executed by root
if [ ! $(whoami) = 'root' ];then echo "You must be root"; exit; fi
# Launch each check with a certain order
check_varspace
check_and_fix_rudder_uuid
check_and_fix_specific_rudder_agent_file /var/rudder/cfengine-community/policy_server.dat policy_server.dat "Please configure your Rudder server in this file." "optional"
check_and_fix_cfengine_processes
......
rm -rf ${CFE_DIR}/state/ncf-exclude-cache-*
rm -f ${CFE_DIR}/inputs/rudder_promises_updated
fi

Also available in: Unified diff