[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
var
/
lib
/
cmk-agent
/
scripts
/
super-server
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 0_systemd
SET
[ DEL ]
📁 1_xinetd
SET
[ DEL ]
📄 setup
3,690 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: setup
#!/bin/sh # Copyright (C) 2022 Checkmk GmbH - License: GNU General Public License v2 # This file is part of Checkmk (https://checkmk.com). It is subject to the terms and # conditions defined in the file COPYING, which is part of this source code package. : "${MK_INSTALLDIR:=""}" : "${MK_CONFDIR:="/etc/check_mk"}" if [ -n "${MK_INSTALLDIR}" ]; then CONFIG="${MK_INSTALLDIR}/package/config/super-server.cfg" else CONFIG="${MK_CONFDIR}/super-server.cfg" fi MODULES_DIR="$(dirname "$(realpath -- "$0" || printf "%s" "$0")")" usage() { cat >&2 <<HERE Usage ${0} deploy|cleanup|purge|trigger|getdeployed Commands: deploy Deploy the files for the (first available) configured super server. cleanup Cleanup all super server files purge Cleanup all super server files that may remain from old agent installations trigger Reload or start all super servers getdeployed Print the deployed super server HERE exit 1 } _all_failed() { cat >&2 <<HERE --------------------------------------------- WARNING This package comes with configuration files for the following super server(s): $(_available_modules ' ') It is configured to try these (in order of preference): $(_configured_modules ' ') None of these have been applicable. Hint: It's also possible to call the Checkmk agent via SSH without a running agent service. --------------------------------------------- HERE } _module_subfolders() { find "${MODULES_DIR}" -type d -name "*_*" } _available_modules() { _module_subfolders | while read -r name; do bname="$(basename "${name}")" printf "%s%s\n" "$1" "${bname#*_}" done | sort -n } _configured_modules() { lines="$(grep -v '^#' "${CONFIG}" 2>/dev/null)" || lines="auto" case "$lines" in *auto* | "") _available_modules "$1" ;; *no_service*) return ;; *) for name in $lines; do printf "%s%s\n" "$1" "${name}" done ;; esac } cleanup() { _module_subfolders | while read -r module; do /bin/sh "${module:?}/setup" cleanup done } purge() { _module_subfolders | while read -r module; do /bin/sh "${module:?}/setup" purge done cleanup } deploy() { _configured_modules | while read -r module; do module_path="$(find "${MODULES_DIR}" -type d -name "*${module}" | head -n1)" || continue /bin/sh "${module_path:?}/setup" deploy && { echo "Deployed ${module}" return 0 } done || _all_failed } trigger() { # first trigger not deployed ones, to free resources (e.g. port) _module_subfolders | while read -r module; do /bin/sh "${module:?}/setup" isdeployed || /bin/sh "${module}/setup" trigger done # then trigger deployed ones _module_subfolders | while read -r module; do /bin/sh "${module:?}/setup" isdeployed && /bin/sh "${module}/setup" trigger done return 0 } getdeployed() { _module_subfolders | while read -r module; do /bin/sh "${module:?}/setup" isdeployed || continue bname="$(basename "${module}")" printf "%s\n" "${bname#*_}" done } main() { [ "$1" = "-v" ] && { shift set -x } case "$1" in deploy) deploy ;; cleanup) cleanup ;; purge) purge ;; trigger) trigger ;; getdeployed) getdeployed ;; *) usage ;; esac } [ -z "$MK_SOURCE_ONLY" ] && main "$@"