我的剧本:
#!/bin/bash
NOW=$(date +"%Y%m%d%t%H%M%S")
# Pour chaque dossiers "log" trouvé.
for folder in $(find . -name "*log*" -type d )
do :
# Pour chaque dossier log contenant des fichiers ".log" vieux de +30jours.
tar czf archive-log.$NOW.tar.gz $(find $folder -name "*.log" -mtime +30)
# On supprime les anciens fichiers de log
rm $(find $folder -name "*.log" -mtime +30)
done
我的问题是:如果我要归档文件,我会发现什么测试? THX
答案 0 :(得分:1)
如果您想跳过没有要归档的文件的情况,这可以帮助您:
if [ ! -z $(find $folder -name "*.log" -mtime +30) ]
then
tar czf archive-log.$NOW.tar.gz $(find $folder -name "*.log" -mtime +30)
rm $(find $folder -name "*.log" -mtime +30)
else
echo "there are no files to archive"
fi
语法if [ -z "string" ]
检查字符串是否为空。否定它,if [ ! -z $(find...) ]
我们检查结果是否返回结果。