1.上代码
#!/bin/bash
# 压缩文件脚本
# 设置距离当前日期的开始和结束的天数
start_num=1179
end_num=1178
dir=/home/oracle/oradata_1t
for ((j=$start_num; j>=$end_num; j--))
do
#获取以前的时间,格式:20180313
yyyymmdd=$(date -d "$j days ago" +%Y%m%d)
yyyymm=$(date -d "$j days ago" +%Y%m)
yyyy=$(date -d "$j days ago" +%Y)
echo 'start...date:'$yyyymmdd
source_folder_file=$dir'/'$yyyy'/'$yyyymmdd'/'$yyyymmdd'.log'
zip_source_folder_file=$dir'/'$yyyy'/'$yyyymm'/t_mt_'$yyyymmdd'_log.zip'
# 判断要压缩的文件是否存在,如果存在则进行压缩操作
if [ -f "$source_folder_file" ] ; then
#压缩文件
zip -rj $zip_source_folder_file $source_folder_file
#删除文件
rm -rf $source_folder_file
rm -rf $dir'/'$yyyy'/'$yyyymmdd
else
echo '压缩文件不存在'$source_folder_file
fi
done