我的代码是
SC_PATH=/opt/shared/data/getd-cwc/tpas/tpashtmlpreview
cd $SC_PATH
logfile=$SC_PATH/logs/temp_delete.log
tpashtmlpreviewoutput=/opt/shared/data/getd-cwc/tpas/tpashtmlpreview/tpashtmlpreviewoutput
if [ -d "$tpashtmlpreviewoutput" ]
then
echo "\nChecking files-folders to delete under the directory $tpashtmlpreviewoutput" >> $logfile
find $tpashtmlpreviewoutput/* -mtime +30 -print | while read QFILENAME
do
echo "Deleting files-folders $QFILENAME " >> $logfile
#ls -lt "$QFILENAME" >> $logfile
rm -rf -- "$QFILENAME" >> $logfile
done
else
echo "Fatal error: missing directory $tpashtmlpreviewoutput" >> $logfile
fi
TpasHtmlPreviewOutput有几个像
这样的文件夹gek108792
gek112110
gek114154-01
gek114154-02
gek114154-03
gek114154-10
gek114154-20
gek114154-30
每次我们处理文件都会放在gek文件夹中并将日期作为当前日期。但是GEK文件夹本身的日期较旧。
使用上面的代码,它也删除了gek文件夹,因为它的日期超过30天。但它应该只删除文件而不是文件夹。内部的GEK文件夹里面几乎没有其他文件夹。
所以我的基本问题是"如何删除超过30天的文件而不是30天以上的文件夹"。请帮助我,并提前感谢。我非常感谢你的帮助和时间:)