#!/bin/sh #---------------------------------------------------------------------------- # /var/install/bin/pre-setup-system-logfileview-menu # # Creation: 2011-05-08 hbfl # Last Update: $Id$ # # Copyright (c) 2011-@@YEAR@@ the eisfair team, team(at)eisfair(dot)org # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. #---------------------------------------------------------------------------- . /var/install/include/eislib . /etc/config.d/base #exec 2> /tmp/server-logfile-trace$$ #set -x # --------------------------------------------------------------------------- # get logfile target from base config file # --------------------------------------------------------------------------- get_logfile_entry () { show_target='' # build target list in $logfiles idx=1 while [ ${idx} -le ${SYSLOGD_DEST_N} ] do eval active='${SYSLOGD_DEST_'${idx}'_ACTIVE}' if [ "${active}" = "yes" ] then eval target='${SYSLOGD_DEST_'${idx}'_TARGET}' # check for @IP-address values if echo "${target}" | grep -qv '^@' then # check for devices like /dev/console if echo "${target}" | grep -qv '^/dev/' then if [ -z "${show_target}" ] then show_target="${target}" else show_target="${show_target} ${target}" fi fi fi fi idx=$(/usr/bin/expr ${idx} + 1 ) done } # --------------------------------------------------------------------------- # create logfile view entry # --------------------------------------------------------------------------- create_logfile_view_menu () { { for l_file in ${show_target} do l_mesg=$(basename "${l_file}") l_file=$(echo "${l_file}" | sed 's#\*#\\\*#g') echo ""View ${l_mesg}"" echo ""View older ${l_mesg}"" done } >> /var/install/menu/setup.system.logfileview.menu } # --------------------------------------------------------------------------- # createn logfile view header # --------------------------------------------------------------------------- create_logfile_view_menu_header () { { echo "Logfile view" echo "base" echo "" echo "" } > /var/install/menu/setup.system.logfileview.menu chmod 0640 /var/install/menu/setup.system.logfileview.menu } # --------------------------------------------------------------------------- # create sub logfile menu # --------------------------------------------------------------------------- create_sub_logfile_view_menu () { for l_file in ${show_target} do l_dir=$( dirname "${l_file}" ) l_mesg=$( basename "${l_file}" ) fields=$( expr 1 + $( echo ${l_mesg} | awk -F. '{ print NF }' )) l_file=$( echo "${l_mesg}" | sed 's#\*#\\\*#g' ) logfiles=$( find ${l_dir} -maxdepth 1 -name "${l_file}.*" | sort -t. -n -k${fields} ) logfiles=$( echo "${logfiles}" | sed 's#\*#\\\*#g' ) { echo "Logfile ${l_mesg} view" echo "base" echo "" echo "" for t_file in ${logfiles} do t_mesg=$(basename "${t_file}") t_file=$(echo "${t_file}" | sed 's#\*#\\\*#g') echo ""View ${t_mesg}"" done } > /var/install/menu/setup.system.logfileview.${l_mesg}.menu chmod 0640 /var/install/menu/setup.system.logfileview.${l_mesg}.menu done } # --------------------------------------------------------------------------- # main # --------------------------------------------------------------------------- if [ "${START_SYSLOGD}" = "yes" ] then get_logfile_entry create_logfile_view_menu_header create_logfile_view_menu create_sub_logfile_view_menu else create_logfile_view_menu_header mecho mecho --warn "START_SYSLOGD => no" mecho anykey fi # --------------------------------------------------------------------------- # end # ---------------------------------------------------------------------------