#!/bin/sh # tmww plugin: log # whatis: log online activity (who logged on/off and when) # conflicts: versionlog, versiontable # depends: - # recommends: versionlog, versiontable # this file is part of tmww - the mana world watcher # willee, 2012-2014 # GPL v3 # check if not run as plugin if [ "$TMWW_PLUGINS" != "yes" ] ; then echo >&2 "This script is tmww plugin and rely heavily on it's facilities." exit 1 fi help_log() { cat << EOF log -- log online activity (who logged on/off and when) IMPORTANT: run "log" action only after you performed "fetch" example crontab entry: */5 * * * * /path/to/tmww -a log -d 240 tmw.org >/dev/null 2>&1 Command line options: -- (no commands) EOF } [ "$TMWW_PLUGINHELP" = "yes" ] && help_log && return 0 [ "$TMWW_PLUGINEXPORT" = "yes" ] && return 0 TMWW_LOGLOCK="${TMWW_LOCK}/tmww-log-${servername}" set_log_lock() { check_lock "log" "${TMWW_LOGLOCK}" 35 } unset_log_lock() { rmdir "${TMWW_LOGLOCK}" 2>/dev/null } # check if nothing to do [ ! -s "${list_logon}" ] && [ ! -s "${list_logoff}" ] && return 0 set_log_lock # prepare report file TMWW_LOGPATH="${TMWW_LOGPATH:-${HOME}/log/tmww}" log_path="${TMWW_LOGPATH}/${servername}/$(date -u +%Y-%m)" check_dir "$log_path" log_file="$log_path/$(date -u +%d).yml" exec 3>&1 1>>${log_file} echo "- time: \"${servertime}\"" [ -s "$list_logon" ] && echo " logon: [ $( make_qcsv < "${list_logon}" ) ]" [ -s "$list_logoff" ] && echo " logoff: [ $( make_qcsv < "${list_logoff}" ) ]" exec 1>&3 3>&- unset_log_lock return 0