diff options
Diffstat (limited to 'lognotify.sh')
-rwxr-xr-x | lognotify.sh | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/lognotify.sh b/lognotify.sh index 161a50b..f291c50 100755 --- a/lognotify.sh +++ b/lognotify.sh @@ -1,7 +1,14 @@ #!/bin/bash # +# lognotify.sh +# http://github.com/omp/lognotify +# # Copyright 2010 David Vazgenovich Shakaryan <dvshakaryan@gmail.com> -# Distributed under the terms of the GNU General Public License v3 +# Distributed under the terms of the GNU General Public License v3. +# See http://www.gnu.org/licenses/gpl.txt for the full license text. +# +# Retrieve additions to remote log files via SSH. Log files are cached locally +# and only new lines are fetched from the server. CACHEDIR="${HOME}/.cache/lognotify" CONFIGDIR="${HOME}/.config/lognotify" @@ -12,7 +19,13 @@ if [ $# != 1 ]; then fi IDENTIFIER="$1" -source "${CONFIGDIR}/${IDENTIFIER}" + +if [ -f "${CONFIGDIR}/${IDENTIFIER}" ]; then + source "${CONFIGDIR}/${IDENTIFIER}" +else + echo "$0: configuration file for specified identifier not found" >&2 + exit 1 +fi # Setup cache directory if nonexistent. if [ ! -d "${CACHEDIR}" ]; then @@ -33,16 +46,15 @@ echo "${LINES}" echo -n "* Acquiring new lines via SSH... " if [ "${LINES}" == 0 ]; then - LOGAPPEND=$(ssh ${SERVER} "cat ${LOGPATH}") + LOGAPPEND=$(ssh ${SSH_OPTIONS} ${SSH_HOSTNAME} "cat ${LOGPATH}") else - LOGAPPEND=$(ssh ${SERVER} "cat ${LOGPATH} | sed -e '1,${LINES}d'") + LOGAPPEND=$(ssh ${SSH_OPTIONS} ${SSH_HOSTNAME} "cat ${LOGPATH} | sed -e '1,${LINES}d'") fi echo "Done" if [ -n "${LOGAPPEND}" ]; then echo "* Number of new lines: $(echo "${LOGAPPEND}" | wc -l)" - echo echo "${LOGAPPEND}" | tee -a "${CACHEDIR}/${IDENTIFIER}" else - echo "* No new lines found." + echo "* No new lines in log." fi |