summaryrefslogtreecommitdiff
path: root/packaging/utils/backup
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/utils/backup')
-rwxr-xr-xpackaging/utils/backup80
1 files changed, 80 insertions, 0 deletions
diff --git a/packaging/utils/backup b/packaging/utils/backup
new file mode 100755
index 000000000..0c860c280
--- /dev/null
+++ b/packaging/utils/backup
@@ -0,0 +1,80 @@
+#! /bin/sh
+# make backup of FreeSwan repository
+# -l local build only, do not transmit
+
+#scphost=freeswan@xs1.xs4all.nl
+scphost=henry@adams.freeswan.org
+scpdir=backup
+pfile=~freeswan/etc/relpass
+ppfile=~freeswan/etc/bpp
+
+PATH=/bin:/usr/bin
+export PATH
+umask 077
+
+tmpdir=~freeswan/tmp
+tarname=freeswan.tar
+
+. ~freeswan/setup
+
+cd $tmpdir
+rm -f $tarname $tarname.gz
+touch $tarname
+
+cd ~freeswan
+tar -cf $tmpdir/$tarname `ls -a |
+ egrep -v '^(\.|\.\.|archive|\.nobak|\.ssh|\.ssh2|tmp)$'`
+
+cd $tmpdir
+gzip -9 $tarname
+ls -l $tarname.gz
+
+if test " $1" = " -l"
+then
+ exit 0
+fi
+
+echo updating >notice
+
+date
+expect -nN -c "
+ set scphost $scphost
+ set scpdir $scpdir
+ set pfile $pfile
+ set ppfile $ppfile
+ set tarname $tarname
+ "'
+ # canned procedure for scp copying
+ proc scp {from to} {
+ global p scphost scpdir
+ spawn scp2 -p -q $from $scphost:$scpdir/$to
+ set timeout -1
+ expect {
+ "word:" {
+ set fname $pfile
+ # fall out
+ }
+ {":} {
+ set fname $ppfile
+ # fall out
+ }
+ eof {
+ puts "eofed!"
+ return
+ }}
+ sleep 3
+ set f [open $fname r]
+ set p [read $f]
+ close $f
+ send "$p\r"
+ expect "\n"
+ expect eof
+ wait
+ }
+
+ scp notice $tarname.gz
+ scp $tarname.gz $tarname.gz
+ # done'
+date
+
+rm -f $tarname.gz