mirror of
https://github.com/limosek/zaf.git
synced 2025-12-16 23:47:02 +01:00
Repaired docs, added cron
This commit is contained in:
@@ -11,7 +11,7 @@ zaf_cache_clean(){
|
||||
}
|
||||
|
||||
# Get cache key from requested param
|
||||
zaf_cachekey(){
|
||||
zaf_cache_key(){
|
||||
echo "$1" | md5sum - | cut -d ' ' -f 1
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ zaf_tocache(){
|
||||
local key
|
||||
local value
|
||||
local lifetime
|
||||
key=$(zaf_cachekey "$1")
|
||||
key=$(zaf_cache_key "$1")
|
||||
echo "$2" >$ZAF_CACHE_DIR/$key
|
||||
echo "$1" >$ZAF_CACHE_DIR/$key.key
|
||||
touch -m -d "$3 seconds" $ZAF_CACHE_DIR/$key.tme
|
||||
@@ -36,13 +36,25 @@ zaf_tocache(){
|
||||
zaf_tocache_stdin(){
|
||||
local key
|
||||
local lifetime
|
||||
|
||||
key=$(zaf_cachekey "$1")
|
||||
key=$(zaf_cache_key "$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
|
||||
if [ -s $ZAF_CACHE_DIR/$key ]; then
|
||||
zaf_trc "Cache: Saving entry $1($key)"
|
||||
echo "$1" >$ZAF_CACHE_DIR/$key.key
|
||||
touch -m -d "$3 seconds" $ZAF_CACHE_DIR/$key.tme
|
||||
cat $ZAF_CACHE_DIR/$key
|
||||
else
|
||||
rm $ZAF_CACHE_DIR/$key
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove entry from cache
|
||||
# $1 key
|
||||
zaf_cache_delentry(){
|
||||
local key
|
||||
key=$(zaf_cache_key "$1")
|
||||
zaf_trc "Cache: removing $1($key) from cache"
|
||||
rm -f "$ZAF_CACHE_DIR/$key*"
|
||||
}
|
||||
|
||||
# Get object from cache
|
||||
@@ -50,7 +62,7 @@ zaf_tocache_stdin(){
|
||||
zaf_fromcache(){
|
||||
local key
|
||||
local value
|
||||
key=$(zaf_cachekey "$1")
|
||||
key=$(zaf_cache_key "$1")
|
||||
if [ -f $ZAF_CACHE_DIR/$key ]; then
|
||||
if [ "$ZAF_CACHE_DIR/$key.tme" -nt "$ZAF_CACHE_DIR/$key" ]; then
|
||||
zaf_trc "Cache: serving $1($key) from cache"
|
||||
|
||||
@@ -89,6 +89,9 @@ zaf_ctrl_check_deps() {
|
||||
zaf_ctrl_sudo() {
|
||||
local pdir
|
||||
local plugin
|
||||
local sudo
|
||||
local cmd
|
||||
local parms
|
||||
|
||||
if ! which sudo >/dev/null; then
|
||||
zaf_wrn "Sudo needed bud not installed?"
|
||||
@@ -96,9 +99,14 @@ zaf_ctrl_sudo() {
|
||||
pdir="$3"
|
||||
plugin=$1
|
||||
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
|
||||
sudo=$(zaf_ctrl_get_global_option $2 "Sudo" | zaf_far '{PLUGINDIR}' "${plugindir}")
|
||||
cmd=$(echo $sudo | cut -d ' ' -f 1)
|
||||
parms=$(echo $sudo | cut -d ' ' -f 2-)
|
||||
if which $cmd >/dev/null ; then
|
||||
(echo "zabbix ALL=NOPASSWD:SETENV: $(which $cmd) $(echo $parms | tr '%' '*')";echo) >$ZAF_SUDOERSD/zaf_$plugin
|
||||
else
|
||||
zaf_wrn "Cannot find binary $cmd for sudo. Ignoring sudo."
|
||||
fi
|
||||
}
|
||||
|
||||
# Install crontab config from control
|
||||
|
||||
@@ -273,6 +273,7 @@ zaf_install_plugin() {
|
||||
zaf_ctrl_check_deps "${control}"
|
||||
zaf_ctrl_install "$url" "${control}" "${plugindir}"
|
||||
zaf_ctrl_sudo "$plugin" "${control}" "${plugindir}"
|
||||
zaf_ctrl_cron "$plugin" "${control}" "${plugindir}"
|
||||
zaf_ctrl_generate_cfg "${control}" "${plugin}" \
|
||||
| zaf_far '{PLUGINDIR}' "${plugindir}" >${ZAF_AGENT_CONFIGD}/zaf_${plugin}.conf
|
||||
zaf_dbg "Generated ${ZAF_AGENT_CONFIGD}/zaf_${plugin}.conf"
|
||||
@@ -388,10 +389,10 @@ zaf_precache_item() {
|
||||
}
|
||||
|
||||
zaf_remove_plugin() {
|
||||
! [ -d ${ZAF_PLUGINS_DIR}/$1 ] && { zaf_err "Plugin $1 not installed!"; }
|
||||
! zaf_is_plugin $1 && { zaf_err "Plugin $1 not installed!"; }
|
||||
zaf_wrn "Removing plugin $1"
|
||||
rm -rf ${ZAF_PLUGINS_DIR}/$1
|
||||
rm -f ${ZAF_AGENT_CONFIGD}/zaf_${plugin}.conf
|
||||
rm -f ${ZAF_AGENT_CONFIGD}/zaf_$1.conf ${ZAF_CROND}/zaf_$1 ${ZAF_SUDOERSD}/zaf_$1
|
||||
}
|
||||
|
||||
zaf_tolower() {
|
||||
|
||||
Reference in New Issue
Block a user