ik heb een scriptie dat een backup neemt van onze svn.
Het rare is dat wanneer ik dit vanaf de command line laat lopen hij volledig zijn ding doet.
Wanneer ik dit vanaf de cron doe doet ie maar een stukje
wat hij moet doen is een fileke inlezen en voor elke regel in dien file den backup laten draaien ... mo hij doet dat vanaf de cron maar voor het eerste lijntje alleen en vanaf de command line voor alle 2 ....
Het rare is dat wanneer ik dit vanaf de command line laat lopen hij volledig zijn ding doet.
Wanneer ik dit vanaf de cron doe doet ie maar een stukje
wat hij moet doen is een fileke inlezen en voor elke regel in dien file den backup laten draaien ... mo hij doet dat vanaf de cron maar voor het eerste lijntje alleen en vanaf de command line voor alle 2 ....
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| #!/bin/sh
#tuneables
BACKUPSRC=/data/svn
BACKUPDST=/mnt/backup/sources/repository/svn
BACKUPLIST=/usr/local/bin/repolist
TEMPDIR=/tmp
#end tuneables
DIR=`date "+%Y %B"` # autogenerated classification dirs
TIMESTAMP=`date "+%Y%m%d"` # timestamp for filename
SRCNAME=`echo "$BACKUPSRC" | tr '/' '_'` # source designation for filename
echo "-[$0]---------------------------------------"
echo "starting backup run for "$BACKUPSRC" at "`date "+%Y%m%d-%H%M%S"`
if [ ! -d "$BACKUPSRC" ]; then
echo "error: backup source $BACKUPSRC not a directory"
exit 1
fi
if [ ! -d "$BACKUPDST" ]; then
echo "error: backup dest $BACKUPDST not a directory"
exit 1
fi
if [ ! -e "$BACKUPDST/$DIR" ]; then
if mkdir "$BACKUPDST/$DIR"; then
echo "created destination directory "$DIR
else
echo "error: could not create directory "$BACKUPDST"/"$DIR
exit 1
fi
fi
cat $BACKUPLIST |
while read REPO; do
FILENAME="$TIMESTAMP"-snapshot-"$REPO" # effective filename
echo "backing up to "$BACKUPDST"/"$DIR"/"$FILENAME".tar.gz"
cd $BACKUPSRC
svnadmin dump "$REPO" > "$TEMPDIR/$FILENAME"
cd $TEMPDIR
tar cf "$FILENAME".tar "$FILENAME"
gzip -f -9 "$FILENAME".tar
mv "$FILENAME".tar.gz "$BACKUPDST/$DIR"
rm -f "$FILENAME"
cd /usr/local/bin
done |
Because Great minds Think alike