Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
icinga
update_icinga_paths.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File update_icinga_paths.sh of Package icinga
#!/bin/sh update_config_files () { package="$1" config_file="$2" old_path="$3" new_path="$4" if [ -f "${config_file}" ] && /bin/grep -q "${old_path}" "${config_file}" > /dev/null 2>&1; then DATE=$(date +"%Y%m%d%H%M") #create backup if there wasn't one created this minute if [ ! -f "${config_file}_rpm_update-${DATE}" ] then cp "${config_file}" "${config_file}_rpm_update-${DATE}" || { %{logmsg} "Could not create backup file ${config_file}_rpm_update-${DATE}" >&2; exit 1; } fi sed -i "s|${old_path}|${new_path}|g" "${config_file}" \ || { %{logmsg} "Could not adapt ${config_file} - please do manually" >&2 ; exit 1; } %{logmsg} "WARNING: ${config_file} adapted to new configuration" %{logmsg} " (see >rpm -q ${package} --changelog | less<)" %{logmsg} " Backup file is: ${config_file}_rpm_update-$DATE" fi if [ -e "${old_path}" ] then %{logmsg} "WARNING: ${old_path} has been moved" %{logmsg} " to ${new_path}" %{logmsg} " Please check/adapt your configuration/scripts and move the still needed files to the new directory!" fi } move_file_to_new_location () { old_path="$1" new_path="$2" if [ -f "${old_path}" ] then cp -ua "${old_path}" "${new_path}" || \ { %{logmsg} "Could not copy ${old_path} to ${new_path} \ because a newer version already exists" >&2; exit 1; } rm "${old_path}" fi } # update icinga config files if [ "$1" = "icinga" ] then # determine if service was running to be able to restart it after the update [ -f %{icinga_lockfile} ] && service_was_running=true [ $service_was_running ] && rcicinga stop >/dev/null 2>&1 ||: ############################################# # update paths to new run directory update_config_files "icinga" "%{icinga_sysconfdir}/icinga.cfg" "/var/spool/icinga/icinga.cmd" "%{icinga_cmdfile}" # update paths to new run directory ############################################# ############################################# # update paths to new eventhandler directory update_config_files "icinga" "%{icinga_sysconfdir}/resource.cfg" "/usr/lib/nagios/plugins/eventhandlers" "%{icinga_eventhandlerdir}" # update paths to new eventhandler directory ############################################# ############################################# # update paths to new spool directory update_config_files "icinga" "%{icinga_sysconfdir}/icinga.cfg" "/var/lib/icinga" "%{icinga_spooldir}" update_config_files "icinga" "%{icinga_sysconfdir}/objects/commands.cfg" "/var/lib/icinga" "%{icinga_spooldir}" # update paths to new spool directory ############################################# ############################################# # move necessary data to new spool directory move_file_to_new_location "/var/lib/icinga/retention.dat" "%{icinga_spooldir}/" move_file_to_new_location "/var/lib/icinga/idomod.tmp" "%{icinga_spooldir}/" move_file_to_new_location "/var/lib/icinga/objects.precache" "%{icinga_spooldir}/" # move necessary data to new spool directory ############################################# ############################################# # cleanup remaining unneeded files test -e "/var/spool/icinga/icinga.cmd" && rm "/var/spool/icinga/icinga.cmd" test -f "/var/lib/icinga/status.dat" && rm "/var/lib/icinga/status.dat" test -f "/var/lib/icinga/objects.cache" && rm "/var/lib/icinga/objects.cache" # cleanup remaining unneeded files ############################################# # start service if it was running before [ $service_was_running ] && rcicinga start >/dev/null 2>&1 ||: fi # update icinga-idoutils config files if [ "$1" = "icinga-idoutils" ] then # determine if service was running [ -f %{icinga_ido2db_lockfile} ] && service_was_running=true [ $service_was_running ] && rcido2db stop >/dev/null 2>&1 ||: ############################################# # update paths to new run directory update_config_files "icinga-idoutils" "%{icinga_sysconfdir}/ido2db.cfg" "/var/spool/icinga/ido2db.sock" "%{icinga_ido2db_socketfile}" update_config_files "icinga-idoutils" "%{icinga_sysconfdir}/idomod.cfg" "/var/spool/icinga/ido2db.sock" "%{icinga_ido2db_socketfile}" # cleanup old socket file test -e "/var/spool/icinga/ido2db.sock" && rm "/var/spool/icinga/ido2db.sock" # update paths to new spool directory ############################################# # start service if it was running before and there wasn't a major upgrade [ $service_was_running ] && rcido2db start >/dev/null 2>&1 ||: fi
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor