From 30f7d067dbb9e7441f4d871c36338350135ac3b3 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Tue, 19 Dec 2006 19:24:41 +0000 Subject: [PATCH] Get rid of obsolete status files and backups. * lysrdiff-move-obsolete: New script. Move backups that are no longer mentioned in the task file to a separate place. --- ChangeLog | 6 ++++++ lysrdiff-move-obsolete | 49 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 lysrdiff-move-obsolete diff --git a/ChangeLog b/ChangeLog index a9ae794..26541b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-12-19 Per Cederqvist <ceder@sedesopim.lysator.liu.se> + + Get rid of obsolete status files and backups. + * lysrdiff-move-obsolete: New script. Move backups that are no + longer mentioned in the task file to a separate place. + 2006-11-29 Per Cederqvist <ceder@sedesopim.lysator.liu.se> Guard against running two fetch-backup-work instances at the same diff --git a/lysrdiff-move-obsolete b/lysrdiff-move-obsolete new file mode 100755 index 0000000..364684c --- /dev/null +++ b/lysrdiff-move-obsolete @@ -0,0 +1,49 @@ +#!/bin/bash + +shopt -s extglob + +for base in /lysrdiff/*/perm/lysrdiff +do + cd $base/backups || continue + for cat in * + do + ( + cd "$cat" || continue + for subcat in * + do + fgrep "$cat $subcat " $base/tasks >/dev/null + if [ $? -eq 1 ] + then + echo $base $cat $subcat seems obsolete + ls -l $base/state/"$cat"-"$subcat"-+([a-z]) | sed 's/^/ /' + for otherbase in /lysrdiff/*/perm/lysrdiff + do + if [ $base != $otherbase ] + then + fgrep "$cat $subcat " $otherbase/tasks >/dev/null + if [ $? -eq 0 ] + then + echo ' found in '$otherbase: + echo -n ' ' + ls -l $otherbase/state/"$cat-$subcat-end" + fi + fi + done + if [ -d $base/obsolete/backups/"$cat"/"$subcat" ] + then + echo ' ALREADY OBSOLETED!' + continue + fi + echo -n '[CONFIRM]' + read line + mkdir -p $base/obsolete/backups/"$cat" + mkdir -p $base/obsolete/state + mv $base/backups/"$cat"/"$subcat" \ + $base/obsolete/backups/"$cat"/"$subcat" + mv $base/state/"$cat"-"$subcat"-+([a-z]) $base/obsolete/state + echo + fi + done + ) + done +done -- GitLab