下面的脚本将从cronjob中调用,我希望删除当前时间超过10分钟的目录。
我的脚本中遇到以下问题:
\n
而不是从末尾修剪(将$oldDirday
变量转储到hexdump会显示前导\n
if
测试正常运行这就是我所拥有的:
#!/bin/sh
i=1
homeDirData="/home/user"$i"/dirToClean/"
while [ -d $homeDirData ]
do
echo "Checking user"$i""
for oldDir in $(find . -type d)
do
oldDirDay=$(ls -l $oldDir | awk '{print $7}')
oldDirTime=$(ls -l $oldDir | awk '{print $8}' | tr -d ':')
curDay=$(date +%d%t%R | awk '{print $1}')
curTime=$(date +%d%t%R | awk '{print $2}')
if [ $oldDirDay -lt $curDay ] && [ $oldDirTime -lt $(($curTime+600)) ]
then
find $homeDirData -type f -exec shred -f --remove {} \;
rm -rf $homeDirData
else
echo "Nothing to remove"
fi
((i+1))
done
done
错误
if
语句所在的位置)问题
答案 0 :(得分:2)
您可以使用以下内容:
find $homeDirData -type d -mmin +10 -print0 | xargs -0 rmdir