diff --git a/releng.control/cleanupArtifacts.sh b/releng.control/cleanupArtifacts.sh index b2aacb4533606fba9a44cce5bb728ceea464b7ba..f2318d51334fdb93bea1331e5ef36eeb386c5838 100644 --- a/releng.control/cleanupArtifacts.sh +++ b/releng.control/cleanupArtifacts.sh @@ -24,81 +24,6 @@ fi # = = = = = = = = = = = = = = = = = = = = = -function removeIf () -{ - # echo "arg: $1"; - - if [ -z $1 ] - then - echo " This script requires an argument. " ; - return 1; - fi - foundDirectory=$1 - - # should already be in foundDirectory, if execDir used - cd $foundDirectory - - # adding a few "should never happen" errror checks - if [ -d $foundDirectory ] - then - rm -fr $foundDirectory - echo " removed: $foundDirectory"; - else - echo "ERROR: the foundDirectory, $foundDirectory, is not a directory" - fi -} - -function removeArtifactsIf () -{ - # echo "arg: $1"; - - if [ -z $1 ] - then - echo " This script requires an argument. " ; - return 1; - fi - foundDirectory=$1 - nSave=$2 - - if [ -z $nSave ] - then - nSave=1; - fi - - # should already be in foundDirectory, if execDir used - cd $foundDirectory - # move up one so we can examine syblings - cd .. - currentDirectory=`pwd` - echo " current working directory: $currentDirectory"; - ndirs=`ls -lA | wc -l` - ndirs=$(($ndirs - 1)); # don't count the "totals" line - # echo "NDirs: $ndirs" - - # if only one left, do not remove it, no matter how old - # or, as improved ... if less than or equal to nSave is left, do not remove - if [ $ndirs -le $nSave ] - then - exit 0; - fi - # This is unexpected, since otherwise this method should not have been called. - # So, this check is just a safety check. - if [ $ndirs -lt 1 ] - then - exit 101; - fi - - # ok, it is old, and not the only one left - # adding a few "should never happen" errror checks - if [ -d $foundDirectory ] - then - rm -fr $foundDirectory - echo " removed: $foundDirectory"; - else - echo "ERROR: the foundDirectory, $foundDirectory, is not a directory" - fi - -} # requires parent Directiory as first argument # if nDays not specified as second argument, then 0 is assumed @@ -141,9 +66,9 @@ before=`find ${parentDir} -mindepth 2 -maxdepth 2 | wc -l`; echo " number of directories before cleaning: ${before}"; # empty directories often result from "bad builds". We remove those no matter how old -find ${parentDir} -mindepth 2 -maxdepth 3 -type d -empty -exec rm -fr '{}' \; +find ${parentDir} -mindepth 2 -maxdepth 3 -type d -empty -execdir rm -fr '{}' \; # now remove old ones -find ${parentDir} -mindepth 2 -maxdepth 2 -type d -atime +$ndays -execdir removeArtifactDirIf '{}' $saveAtLeast \; +find ${parentDir} -mindepth 2 -maxdepth 2 -type d -atime +$ndays -execdir ${RELENG_CONTROL}/removeArtifactDirIf.sh '{}' $saveAtLeast \; after=`find ${parentDir} -mindepth 2 -maxdepth 2 | wc -l`; echo " number of directories after cleaning: ${after}"; @@ -183,9 +108,9 @@ before=`find ${parentDir} -mindepth 1 -maxdepth 1 | wc -l`; echo " number of directories before cleaning: ${before}"; # empty directories often result from "bad builds". We remove those no matter how old -find ${parentDir} -mindepth 1 -maxdepth 2 -type d -empty -exec rm -fr '{}' \; +find ${parentDir} -mindepth 1 -maxdepth 2 -type d -empty -execdir rm -fr '{}' \; # now remove old ones -find ${parentDir} -mindepth 1 -maxdepth 1 -type d -atime +$ndays -exec removeIf '{}' \; +find ${parentDir} -mindepth 1 -maxdepth 1 -type d -atime +$ndays -execdir ${RELENG_CONTROL}/removeIf.sh '{}' \; after=`find ${parentDir} -mindepth 1 -maxdepth 1 | wc -l`; echo " number of directories after cleaning: ${after}"; @@ -227,7 +152,7 @@ before=`find ${parentDir} | wc -l`; echo " number of directories and files before cleaning: ${before}"; # remove all old directories and files -find ${parentDir} -atime +$ndays -exec rm -fr '{}' \; +find ${parentDir} -atime +$ndays -execdir rm -fr '{}' \; after=`find ${parentDir} | wc -l`; echo " number of directories and files after cleaning: ${after}";