这是为了从今天或昨天跳过任何文件,并从本月或上个月开始压缩任何文件。到目前为止它工作正常,除了一旦“gzip -9 $ journal”执行,当你按“Ctrl -c”来杀死程序时,它循环到下一个文件并执行“gzip -9 $ journal”。我必须打“Crtl -c”多次,因为目录中有一个文件。当我点击“Ctrl -c”时,如何构建脚本死亡。
#!/bin/bash
volume="/home/casper/vol14/"
dirLimit="casper_limit/"
dirConsu="casper_consumption/"
nowMonth=$(/bin/date +'%b' -d 'now')
preMonth=$(/bin/date +'%b' -d 'last month')
tradeDay=$(/bin/date -I)
previDay=$(/bin/date -I -d 'yesterday')
limtfile="MH_CASPER_LIMIT_01*.journal"
cd /home/casper/vol14/casper_limit/
for journal in $limtfile
do
filemodtime=$(/bin/date -I -r $journal)
if [[ "$filemodtime" == "$tradeDay" || "$filemodtime" == "$previDay" ]] ; then
:
else
filemodMonth=$(/bin/date +'%b' -r $journal)
if [[ "$filemodMonth" == "$nowMonth" || "$filemodMonth" == "$preMonth" ]] ; then
if [[ -f "${journal}.gz" ]] ; then
echo "Skipping ${journal}.gz is already zipped"
else
echo "$journal is from $filemodMonth and is being zipped"
gzip -9 $journal
fi
fi
fi
done