summaryrefslogtreecommitdiff
path: root/rc/bin/replica/scan
diff options
context:
space:
mode:
Diffstat (limited to 'rc/bin/replica/scan')
-rwxr-xr-xrc/bin/replica/scan18
1 files changed, 18 insertions, 0 deletions
diff --git a/rc/bin/replica/scan b/rc/bin/replica/scan
new file mode 100755
index 000000000..c827eca92
--- /dev/null
+++ b/rc/bin/replica/scan
@@ -0,0 +1,18 @@
+#!/bin/rc
+
+rfork en
+
+fn usage {
+ echo 'usage: replica/scan replica-name [paths]' >[1=2]
+ exit usage
+}
+
+. /rc/bin/replica/defs $*
+
+need serverroot serverexclude serverproto serverdb serverlog
+
+must servermount
+replica/updatedb -r^$serverroot $serverexclude -p^$serverproto $serverdb >>$serverlog
+ndb=`{echo $serverdb | sed 's;(.*)/(.*);\1/n\2;'}
+odb=`{echo $serverdb | sed 's;(.*)/(.*);\1/_\2;'}
+replica/compactdb $serverdb >$ndb && mv $serverdb $odb && mv $ndb $serverdb