mirror of
https://github.com/limosek/zaf.git
synced 2025-12-16 23:47:02 +01:00
Added cron support
Added precache support
This commit is contained in:
@@ -25,6 +25,7 @@ zaf_tocache(){
|
||||
local lifetime
|
||||
key=$(zaf_cachekey $1)
|
||||
echo "$2" >$ZAF_CACHE_DIR/$key
|
||||
echo "$1" >$ZAF_CACHE_DIR/$key.key
|
||||
touch -m -d "$3 seconds" $ZAF_CACHE_DIR/$key.tme
|
||||
zaf_trc "Cache: Saving entry $1($key)"
|
||||
}
|
||||
@@ -38,6 +39,7 @@ zaf_tocache_stdin(){
|
||||
|
||||
key=$(zaf_cachekey $1)
|
||||
cat >$ZAF_CACHE_DIR/$key
|
||||
echo "$1" >$ZAF_CACHE_DIR/$key.key
|
||||
touch -m -d "$3 seconds" $ZAF_CACHE_DIR/$key.tme
|
||||
zaf_trc "Cache: Saving entry $1($key)"
|
||||
cat $ZAF_CACHE_DIR/$key
|
||||
|
||||
@@ -95,11 +95,26 @@ zaf_ctrl_sudo() {
|
||||
fi
|
||||
pdir="$3"
|
||||
plugin=$1
|
||||
(echo -n "zabbix ALL=NOPASSWD: "
|
||||
zaf_dbg "Installing sudoers entry $ZAF_SUDOERSD/zaf_$plugin"
|
||||
(echo -n "zabbix ALL=NOPASSWD:SETENV: "
|
||||
zaf_ctrl_get_global_option $2 "Sudo" | zaf_far '{PLUGINDIR}' "${plugindir}";
|
||||
echo ) >$ZAF_SUDOERSD/zaf_$plugin
|
||||
}
|
||||
|
||||
# Install crontab config from control
|
||||
# $1 plugin
|
||||
# $2 control
|
||||
# $3 plugindir
|
||||
zaf_ctrl_cron() {
|
||||
local pdir
|
||||
local plugin
|
||||
|
||||
pdir="$3"
|
||||
plugin=$1
|
||||
zaf_dbg "Installing cron entry $ZAF_CROND/zaf_$plugin"
|
||||
zaf_ctrl_get_global_option $2 "Cron" | zaf_far '{PLUGINDIR}' "${plugindir}" >$ZAF_CROND/zaf_$plugin
|
||||
}
|
||||
|
||||
# Install sudo options from control
|
||||
# $1 pluginurl
|
||||
# $2 control
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
[ -z "$ZAF_TMP_BASE" ] && ZAF_TMP_BASE=/tmp/zaf
|
||||
ZAF_TMP_DIR="${ZAF_TMP_BASE}-${USER}"
|
||||
[ -z "$ZAF_CACHE_DIR" ] && ZAF_CACHE_DIR=${ZAF_TMP_BASE}-${USER}c
|
||||
[ -z "$ZAF_CACHE_DIR" ] && ZAF_CACHE_DIR=${ZAF_TMP_BASE}c
|
||||
|
||||
#trap "rm -rif ${ZAF_TMP_DIR}" EXIT
|
||||
trap "rm -rif ${ZAF_TMP_DIR}" EXIT
|
||||
! [ -d "${ZAF_TMP_DIR}" ] && mkdir "${ZAF_TMP_DIR}"
|
||||
! [ -d "${ZAF_CACHE_DIR}" ] && mkdir "${ZAF_CACHE_DIR}"
|
||||
[ -z "$ZAF_DEBUG" ] && ZAF_DEBUG=1
|
||||
|
||||
@@ -382,6 +382,11 @@ zaf_test_item() {
|
||||
$ZAF_AGENT_BIN -t "$1"
|
||||
}
|
||||
|
||||
zaf_precache_item() {
|
||||
cmd=$(grep "^UserParameter=$item" $ZAF_AGENT_CONFIGD/zaf*.conf | cut -d ',' -f 2-)
|
||||
eval $cmd
|
||||
}
|
||||
|
||||
zaf_remove_plugin() {
|
||||
! [ -d ${ZAF_PLUGINS_DIR}/$1 ] && { zaf_err "Plugin $1 not installed!"; }
|
||||
zaf_wrn "Removing plugin $1"
|
||||
|
||||
Reference in New Issue
Block a user