aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2014-09-01 14:23:13 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2014-09-01 14:23:13 +0300
commitaa48c0113be59350159788f9efd43d8736e87dcb (patch)
tree05f6ac39705efbf5acdd86e1629749c80f402409
parent1c1930ac5260847b9b6e63caf3ba844be8a7d41f (diff)
downloadbeam-aa48c0113be59350159788f9efd43d8736e87dcb.tar.gz
beam-aa48c0113be59350159788f9efd43d8736e87dcb.tar.bz2
Clean up remote files
* cleaner.in: Detect if the files are remote, use beam_exec to remove them.
-rwxr-xr-xcleaner.in28
1 files changed, 21 insertions, 7 deletions
diff --git a/cleaner.in b/cleaner.in
index a35b605..1db87c1 100755
--- a/cleaner.in
+++ b/cleaner.in
@@ -69,2 +69,11 @@ esac
+remote=${dir%%:*}
+if [ "$remote" != "$dir" ]; then
+ beam_rsh="${backup_rsh:-ssh} $remote"
+ localdir=${dir#*:}
+else
+ beam_rsh=
+ localdir=$dir
+fi
+
thisweek=$(date +%U)
@@ -83,5 +92,5 @@ $verbose \# removing from $dir files ending in $suffix and older than week $last
if [ -z "$suffix" ]; then
- find $dir -maxdepth 1 -type f -printf '%f\n'
+ beam_exec find $localdir -maxdepth 1 -type f -printf '%f>n'
else
- find $dir -maxdepth 1 -type f -name "*$suffix" -printf '%f\n'
+ beam_exec find $localdir -maxdepth 1 -type f -name "*$suffix" -printf '%f>n'
fi |
@@ -89,3 +98,2 @@ fi |
do
- $verbose \# considering $name
week=$(expr "$name" : '.*-\([0-9][0-9]*\)-[0-9][0-9]*-[0-9][0-9]*.*$')
@@ -93,4 +101,3 @@ fi |
if [ $(expr $thisweek - $week) -gt $retainweeks ]; then
- $verbose \# removing $name
- $dry_run rm $dir/$name
+ echo $localdir/$name
fi
@@ -98,6 +105,13 @@ fi |
if [ $(expr $thisweek + 54 - $week) -gt $retainweeks ]; then
- $verbose \# removing $name
- $dry_run rm $dir/$name
+ echo $localdir/$name
fi
fi
+ done |
+ if [ -z "$dry_run" ]; then
+ beam_exec xargs --no-run-if-empty rm
+ else
+ while read name
+ do
+ echo \# rm $name
done
+ fi

Return to:

Send suggestions and report system problems to the System administrator.