aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2013-03-10 20:12:44 +0100
committerLaurent Ghigonis <laurent@p1sec.com>2013-03-10 20:12:44 +0100
commitc544cffb31ad87977ccbc5b5b23a1eebef169d67 (patch)
tree27324783564189d58bcf4bf0e1e88356b13a9233 /tools
parentupdate copying (diff)
downloadlaurent-tools-c544cffb31ad87977ccbc5b5b23a1eebef169d67.tar.xz
laurent-tools-c544cffb31ad87977ccbc5b5b23a1eebef169d67.zip
move bak.sh to tools/
Diffstat (limited to 'tools')
-rwxr-xr-xtools/bak.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/bak.sh b/tools/bak.sh
new file mode 100755
index 0000000..cfa6c1b
--- /dev/null
+++ b/tools/bak.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Creates a backup of the current directory in the parent
+# directory with name $(basename `pwd`)-bakXXX-$1,
+# and copy both directories to HOST.
+# A make clean is done before all.
+
+# 2012 Laurent Ghigonis <laurent@p1sec.com>
+
+DIRNAME=$(basename `pwd`)
+HOST=${HOST-"user@host"}
+
+if [ X"$1" = X"" ]; then
+ echo "usage: $0 backup_name"
+ exit 1
+fi
+
+echo "make clean"
+make clean
+echo
+
+cd ..
+
+dir=""
+last=""
+echo $DIRNAME-bak* |tr ' ' '\n' > list
+for i in $(seq -f "%03g" 999); do
+ name="$DIRNAME-bak$i"
+ dir=`grep $name list`
+ if [ $? -ne "0" ]; then
+ dir=$name-$1
+ echo "last $last"
+ echo "new $dir"
+ echo
+ break
+ fi
+ last=$dir
+done
+if [ $dir = "" ]; then
+ echo no backup name available !
+ exit 1
+fi
+
+read -p "going to diff" a
+diff -ruN $last $DIRNAME 2>&1 |less
+
+echo
+read -p "go ?" a
+echo -n copying to $dir ...
+cp -Rp $DIRNAME/ $dir && echo done
+echo -n backup to server ...
+scp -Cr $DIRNAME/ $dir $HOST && echo done
+
+rm list