From e308f37a165668b09e8924c8a32a844f8cdb5a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Peccatte?= Date: Thu, 30 Jul 2015 11:17:53 +0200 Subject: [PATCH] Fixes #7050: Add a rudder server disable command --- share/commands/agent-disable | 36 +++++++++++++++++++++++++++++++++++ share/commands/server-disable | 19 ++++++++++++++++++ share/commands/server-enable | 15 +++++++++++++++ 3 files changed, 70 insertions(+) create mode 100755 share/commands/server-disable create mode 100755 share/commands/server-enable diff --git a/share/commands/agent-disable b/share/commands/agent-disable index 6218d86..337ad56 100755 --- a/share/commands/agent-disable +++ b/share/commands/agent-disable @@ -2,5 +2,41 @@ # @description forbid rudder-agent to be run by cron or service # @man This is useful when you want to temporarily prevent your Rudder agent # @man from doing any modification to your system. +# @man + +# @man + +# @man *Options*: +# @man + +# @man *-s*: stop rudder-agent in addition to disabling it + +while getopts "s" opt; do + case $opt in + s) + STOP=y + ;; + esac +done touch /opt/rudder/etc/disable-agent +if [ -x /usr/bin/stopsrc ] +then + CMD="stopsrc -s rudder-agent" +elif [ -x /usr/sbin/service ] +then + CMD="service rudder-agent stop" +elif [ -x /etc/init.d/rudder-agent ] +then + CMD="/etc/init.d/rudder-agent stop" +fi +if [ "${STOP}" = "y" ] +then + if [ -n "${CMD}" ] + then + $CMD + else + echo "Don't know how to stop rudder agent." 1>&2 + echo "Agent not stopped !" 1>&2 + fi +else + echo "rudder-agent has been enabled but not started, wait for next cron run" +fi + diff --git a/share/commands/server-disable b/share/commands/server-disable new file mode 100755 index 0000000..2399efd --- /dev/null +++ b/share/commands/server-disable @@ -0,0 +1,19 @@ +#!/bin/sh +# @description forbid Rudder to distribute new policies as a server +# @man This is useful when you want to temporarily prevent your Rudder server +# @man from doing any modification on your agents +# @man + +# @man + +# @man *Options*: +# @man + +# @man *--policy-server*: disable the policy-server component + +if [ -z "$1" ] || [ "$1" != "--policy-server" ] +then + echo "Usage rudder server disable [option]" + exit 1 +fi + +# --policy-server +`dirname "$0"`/agent-disable -s + diff --git a/share/commands/server-enable b/share/commands/server-enable new file mode 100755 index 0000000..54fa358 --- /dev/null +++ b/share/commands/server-enable @@ -0,0 +1,15 @@ +#!/bin/sh +# @description re-enable a disabled Rudder server +# @man + +# @man *Options*: +# @man + +# @man *--policy-server*: disable the policy-server component + +if [ -z "$1" ] || [ "$1" != "--policy-server" ] +then + echo "Usage rudder server enable [option]" + exit 1 +fi + +# --policy-server +`dirname "$0"`/agent-enable -s