Hi,
I have a shell script to get the two days old file.
But the problem i am facing here is when the current day is first day of month its giving me date as 00 instead of 31th or 30th .
the script ;--
#!/bin/sh
START_TIME=`date +"%x %r %Z"`
echo "-------------------------
----------
----------
--------"
echo "FTP Start Time : " $START_TIME
# Get Two day old date & delete two day old files
PAST=2
PASTFR=3
CURRENTFR=1
DATE=`date +%Y%m%d`
PAST_DATE=`expr $DATE - $PAST`
PAST_DATE_FR=`expr $DATE - $PASTFR`
PAST_TIS_FILE=$PAST_DATE-T
IS.txt
PAST_TIS_FR_FILE=$PAST_DAT
E_FR-TIS_F
R.txt
PAST_CPD_FILE=$PAST_DATE-C
PD.txt
PAST_ADSERVER_FILE=$PAST_D
ATE-AdServ
er.txt
cd /users/cookiexx/cookie/dat
a/
echo "Deleting : " $PAST_TIS_FILE $PAST_TIS_FR_FILE $PAST_CPD_FILE $PAST_ADSERVER_FILE
rm -rf $PAST_TIS_FILE
rm -rf $PAST_DATE-TIS_FR.txt
rm -rf $PAST_CPD_FILE
rm -rf $PAST_ADSERVER_FILE
# Getting todays file from VS server
HOST='vsp-sjc-007'
USER='cookiexx'
PASSWD=''
#smjoshi
DATE_FR=`expr $DATE - $CURRENTFR`
#commented by monraut for .new file changes
#FILE_FR=$DATE_FR-TIS_FR.t
xt
#FILE=$DATE-TIS.txt
FILE_FR=$DATE_FR-TIS_FR.ne
w
FILE=$DATE-TIS.new
FILE2='TIS_thresholds.txt'
LDIR_PATH='/users/cookiexx
/cookie/da
ta/'
LDIR_CONF_PATH='/users/coo
kiexx/cook
ie/conf/'
/usr/local/bin/sftp $HOST <<END_SCRIPT
cd ../
cd F:/
cd VSExports
lcd $LDIR_PATH
get $FILE
#smjoshi
get $FILE_FR
lcd $LDIR_CONF_PATH
get $FILE2
exit
END_SCRIPT
# Remove any extra junk characters from the files
cd /users/cookiexx/cookie/dat
a
#dos2unix $FILE $FILE
/usr/local/bin/perl -p -i -e 's/\r\n/\n/' $FILE
#smjoshi
/usr/local/bin/perl -p -i -e 's/\r\n/\n/' $FILE_FR
cd /users/cookiexx/cookie/con
f
#dos2unix $FILE2 $FILE2
/usr/local/bin/perl -p -i -e 's/\r\n/\n/' $FILE2
END_TIME=`date +"%x %r %Z"`
echo "FTP End Time : " $END_TIME
# added monraut for .new file changes
FILE_FR_1=$DATE_FR-TIS_FR.
txt
FILE_1=$DATE-TIS.txt
cd /users/cookiexx/cookie/dat
a
mv $FILE_FR $FILE_FR_1
mv $FILE $FILE_1
Can any body help me out?
regards
Deepak
Start Free Trial