我有一个名为somefile.sh的shell脚本文件,它的代码如下,
somefile.sh
find /xxx/yyy/* -mtime +30 -exec rm {} \;
find /xxx/zzz/* -mtime +30 -exec rm {} \;
find /xxx/xyx/* -mtime +30 -exec rm {} \;
find /xxx/xzx/* -mtime +30 -exec rm {} \;
这每天都在一个cron中运行,
现在我要为此设置一个日志文件, 对于每个shell脚本,我想将每个命令结果输出到一个文件,然后,
任何人都可以帮助我解决这个问题。提前谢谢。
答案 0 :(得分:2)
使用过期日构建文件夹列表。
cat folder.list
/xxx/yyy 30
/xxx/zzz 30
/xxx/xyx 7
/xxx/xzx 14
更新somefile.sh
LOG=/var/tmp/LOG
while read folder day X
do
echo "Working on folder ${folder} .."
find ${folder}/* -mtime +${day} -type f |while read line
do
echo "removing $line ...."
rm ${line}
done
done <folder.list >> $LOG
使用新请求更新(计算删除文件)
#!/usr/bin/bash
LOG=/var/tmp/LOG
while read folder day X
do
echo "Working on folder ${folder} .."
i=0
find ${folder}/* -mtime +${day} -type f |while read line
do
echo "removing $line ...."
rm ${line}
((i++))
done
echo "Totally deleted $i files in folder $folder"
done <folder.list >> $LOG
答案 1 :(得分:0)
让你找到它删除的内容
find /xxx/zzz/* -mtime +30 -print -exec rm {} \;
或
find /xxx/zzz/* -mtime +30 -exec echo Removing +30 days file {} \; -exec rm {} \;
接下来,您可以按照自己的方式过滤输出(wc -l或grep -c)。