Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- DATEDIR=$(date -d yesterday +%Y/%m/%d)
- DATENAME=$(date -d yesterday +%Y%m%d)
- DIRECTORIES=""
- LOGFILE=""
- cat server_log2.txt | grep -v "^#" | while read HOST HOST_NAME PORT MAINLOGDIR ; do
- DIRECTORIES=$(ssh -p ${PORT} ${HOST} "find ${MAINLOGDIR} -type d")
- if [ ! -z "${DIRECTORIES}" ] ; then
- for TMPDIR in ${DIRECTORIES} ; do
- if [ ! -d ${HOME}/var/log/${HOST_NAME}/${DATEDIR}/${TMPDIR} ] ; then
- mkdir -p ${HOME}/var/log/${HOST_NAME}/${DATEDIR}/${TMPDIR}
- fi
- LOGFILE=$(ssh -p ${PORT} ${HOST} "find ${TMPDIR} -type f -mmin -120")
- if [ ! -z "${LOGFILE}" ] ; then
- if [ ${#LOGFILE} -gt 1 ] ; then
- for LOG in $LOGFILE ; do
- LOGNAME=$(basename ${LOG})
- rsync -vade "ssh -p ${PORT}" ${HOST}:$TMPDIR/${LOGNAME} ${HOME}/var/log/$HOST_NAME/${DATEDIR}/$TMPDIR/${LOGNAME}
- done
- else
- LOGNAME=$(basename ${LOGFILE})
- rsync -vade "ssh -p ${PORT}" ${HOST}:$TMPDIR/${LOGNAME} ${HOME}/var/log/$HOST_NAME/${DATEDIR}/$TMPDIR/${LOGNAME}
- fi
- fi
- done
- else
- LOGFILE=$(ssh -p ${PORT} ${HOST} "find ${TMPDIR} -type f -mmin -120")
- rsync -vade "ssh -p ${PORT}" ${HOST}:$TMPDIR/${LOGFILE} var/log/$HOST_NAME/${DATEDIR}/$TMPDIR/${LOGFILE}
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement