#!/bin/ksh #/usr/local/bin/yesterday set -A DAYS Sat Sun Mon Tue Wed Thu Fri Sat set -A MONTHS Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec YESTERDAY=$((`date +%d` -1)) MONTH=`date +%m` YEAR=`date +%Y` NDAY=`date +%u` WEEKDAY=${DAYS[`date +%u`]} if [ $YESTERDAY -eq "0" ] then MONTH=$((MONTH-1)) if [ $MONTH -eq "0" ] then MONTH=12 YEAR=$((YEAR-1)) fi set `cal $MONTH $YEAR` shift $(($# - 1)) YESTERDAY=$1 fi TMONTH=${MONTHS[MONTH]} # uncomment next line for debugging echo $WEEKDAY $YESTERDAY $MONTH $TMONTH $YEAR mkdir -p /oldlogs/$YEAR/$TMONTH 2>/dev/null cp log.old /oldlogs/$YEAR/$TMONTH/$WEEKDAY$YESTERDAY
Wednesday, 18 May 2011
Unix Shell Script to write logs on daily basis
Above script will take a logs backup on daily basis.for example today is Thursday May 18. We want to copy the log to the directory /oldlogs/2011/May/Tue17 (it's yesterday's log we are copying).
Labels:
UNIX
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment