[Piuparts-commits] [SCM] piuparts git repository branch, develop, updated. 0.46-27-g960eea7
Andreas Beckmann
debian at abeckmann.de
Fri Sep 21 08:17:11 UTC 2012
The following commit has been merged in the develop branch:
commit 3f7ef610632fba31c91cfc288ef7c6a39e4f275d
Author: Andreas Beckmann <debian at abeckmann.de>
Date: Sat Sep 15 12:26:08 2012 +0200
reschedule_oldest_logs: refactor
Signed-off-by: Andreas Beckmann <debian at abeckmann.de>
diff --git a/debian/changelog b/debian/changelog
index fb58319..a492406 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,7 +15,7 @@ piuparts (0.47) UNRELEASED; urgency=low
tests that may be fixed in a later version.
* Remove post_purge_dbconfig_cleanup custom script.
* reschedule_oldest_logs: Refactored.
- - Fix duplicate variable name usage that soemetimes prevented recycling.
+ - Fix duplicate variable name usage that sometimes prevented recycling.
- Support a [global] auto-reschedule=no setting.
-- Andreas Beckmann <debian at abeckmann.de> Sat, 15 Sep 2012 06:25:05 +0200
diff --git a/master-bin/reschedule_oldest_logs b/master-bin/reschedule_oldest_logs
index 13c9fc9..06fd99d 100755
--- a/master-bin/reschedule_oldest_logs
+++ b/master-bin/reschedule_oldest_logs
@@ -50,11 +50,23 @@ get_config_value FAIL_COUNT global reschedule-fail-count 25
get_config_value AUTO_RESCHEDULE global auto-reschedule yes
+
+list_logs()
+{
+ __AGE="$1"
+ __COUNT="$2"
+ shift 2
+ find "$@" -name "*.log" -mtime +$__AGE \
+ | xargs --no-run-if-empty -n99999 -s999999 ls -dt \
+ | tail -n $__COUNT
+}
+
+
TOTAL=0
UNSCHEDULE=0
-LOGS=`mktemp`
-LOGS2=`mktemp`
+LOGS=$(mktemp)
OBSOLETE=$(mktemp)
+UNSORTED=$(mktemp)
OLDPWD=$(pwd)
for SECTION in $SECTIONS ; do
test -d $MASTER/$SECTION || continue
@@ -78,11 +90,12 @@ for SECTION in $SECTIONS ; do
get_config_value _FAIL_AGE $SECTION reschedule-fail-days $FAIL_AGE
get_config_value _FAIL_COUNT $SECTION reschedule-fail-count $FAIL_COUNT
# FIXME: we ignore bugged here - ptyhon-bts is really the way to go
- find pass fail affected -name "*.log" -mtime +$_AGE | xargs --no-run-if-empty -n99999 -s999999 ls -dt | tail -n $_COUNT > $LOGS
- find fail affected -name "*.log" -mtime +$_FAIL_AGE | xargs --no-run-if-empty -n99999 -s999999 ls -dt | tail -n $_FAIL_COUNT >> $LOGS
- sort -u $LOGS > $LOGS2
- for log in $(cat $LOGS2) ; do
- test -f recycle/$(basename "$log") || echo "$log"
+ >$UNSORTED
+ list_logs $_AGE $_COUNT pass fail affected >> $UNSORTED
+ list_logs $_FAIL_AGE $_FAIL_COUNT fail affected >> $UNSORTED
+ for log in $(sort -u $UNSORTED) ; do
+ # skip if already scheduled
+ test -f "recycle/${log#*/}" || echo "$log"
done > $LOGS
fi
@@ -105,7 +118,9 @@ for SECTION in $SECTIONS ; do
fi
cd $OLDPWD
done
-rm $LOGS $LOGS2 $OBSOLETE
+rm $LOGS
+rm $OBSOLETE
+rm $UNSORTED
if [ "$TOTAL" -gt "0" ]; then
echo "Rescheduled $TOTAL logs."
--
piuparts git repository
More information about the Piuparts-commits
mailing list