#!/usr/bin/sh #---------------------------------------------------------------------------- # /var/install/bin/pre-setup-system-logging-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/syslogd # --------------------------------------------------------------------------- # get logfile target from syslogd config file # --------------------------------------------------------------------------- get_logfile_entry() { show_target='' separator='' # build target list in $logfiles idx=1 while [ ${idx} -le ${SYSLOGD_DEST_N:-0} ] do eval active='${SYSLOGD_DEST_'${idx}'_ACTIVE}' if [ "${active}" != "yes" ] then idx=$((${idx} + 1)) continue fi eval target='${SYSLOGD_DEST_'${idx}'_TARGET}' # check for @IP-address values if ! echo "${target}" | grep -q '^@' then # check for devices like /dev/console if ! echo "${target}" | grep -q '^/dev/' then show_target="${show_target}${separator}${target}" separator=" " fi fi idx=$((${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 } >> ${menu_file} } # --------------------------------------------------------------------------- # createn logfile view header # --------------------------------------------------------------------------- create_logfile_view_menu_header() { { echo "Logfile view" echo "${package}" echo "" echo "" } > ${menu_file} chmod 0640 ${menu_file} } # --------------------------------------------------------------------------- # 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=$((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 "${package}" 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.logging.${sub_package}${sub_menue_delimeter}logfileview.${l_mesg}.menu chmod 0640 /var/install/menu/setup.system.logging.${sub_package}${sub_menue_delimeter}logfileview.${l_mesg}.menu done } # --------------------------------------------------------------------------- # main # --------------------------------------------------------------------------- main() { sub_package='' sub_menue_delimeter='' sub_file_delimeter='' package="${2}" menu_file="${4}" if [ "${package}" = "syslogd" ] then sub_package="${package}" sub_menue_delimeter='.' sub_file_delimeter='-' fi 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 } # --------------------------------------------------------------------------- # exec main # --------------------------------------------------------------------------- main "${@}" # --------------------------------------------------------------------------- # end # ---------------------------------------------------------------------------