date -d '20121212 7 days' date -d '12-DEC-2012 7 days' date -d '2012-12-12 7 days' date -d '2012-12-12 4:10:10PM 7 days' date -d '2012-12-12 16:10:55 7 days'
Sample script:
src=/opt/SOC-Scripts/src #----sample File name #----paloalto-THREAT.log-20160101.gz paloalto-TRAFFIC.log-20160415.gz paloalto-TRAFFIC.log-20160501.gz #----Rename the files with one day before date stamp cd $src for i in `ls *.gz` do date1=`echo $i|cut -d"-" -f3|cut -d"." -f1` date2=$(date -d "$date1 -1 days" +'%Y%m%d') fname=$(date -d "$date1 -1 days" +'%Y-%m') echo "File name is : $i <-----" echo "Date is : $date1" echo "One day before : $date2" echo -e "Folder Name : $fname\n" done
# sh file-backup.sh
File name is : paloalto-THREAT.log-20160101.gz <-----
Date is : 20160101
One day before : 20151231
Folder Name : 2015-12
File name is : paloalto-TRAFFIC.log-20160415.gz <-----
Date is : 20160415
One day before : 20160414
Folder Name : 2016-04
File name is : paloalto-TRAFFIC.log-20160501.gz <-----
Date is : 20160501
One day before : 20160430
Folder Name : 2016-04