Browse code

Ignore exit code 1 of tar during directory backup which only indicates file changes during runtime

Benjamin Roth authored on19/01/2018 21:50:53
Showing1 changed files
... ...
@@ -1,4 +1,14 @@
1 1
 #!/bin/bash
2
+
3
+
4
+#+++++++++++++++++++++++++++++++++++++++++++++++++++
5
+# eSales Media Backup Script
6
+#
7
+# Author: Benjamin Roth
8
+# Version: 18.0.3
9
+#+++++++++++++++++++++++++++++++++++++++++++++++++++
10
+
11
+
2 12
 if [ ! $1 -a $2 -a $3 ]
3 13
 then
4 14
 	echo "Wrong parameter count."
Browse code

Initial commit

Benjamin Roth authored on16/06/2016 16:11:29
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,78 @@
1
+#!/bin/bash
2
+if [ ! $1 -a $2 -a $3 ]
3
+then
4
+	echo "Wrong parameter count."
5
+	exit 1
6
+fi
7
+
8
+#####################
9
+#     PARAMETER     #
10
+#####################
11
+SERVER=`echo $1 | awk -F:: '{ print $2 }' | awk -F: '{ print $1 }'`
12
+PORT=`echo $1 | awk -F:: '{ print $2 }' | awk -F: '{ print $2 }'`
13
+DATABASE=`echo $1 | awk -F:: '{ print $3 }'` 
14
+USER=`echo $1 | awk -F:: '{ print $4 }'` 
15
+PASSWORD=`echo $1 | awk -F:: '{ print $5 }'`
16
+SOCKET=`echo $1 | awk -F:: '{ print $6 }'`
17
+
18
+TARGETDIR=$2
19
+TSTAMP=`date +%Y%m%d`
20
+JOBNAME=$3
21
+
22
+
23
+###################
24
+#     BACKUP      #
25
+###################
26
+if [ -d $TARGETDIR ]
27
+then
28
+	# Set Port
29
+	if [ "$PORT" = "" -o "$PORT" = "0" ]
30
+	then
31
+		PORT=3306
32
+	fi
33
+	# Check for existing backup file
34
+	if [ -f "${TARGETDIR}${JOBNAME}_${TSTAMP}.sql" ]
35
+	then
36
+		suffix=2
37
+		while [ -f "${TARGETDIR}${JOBNAME}_${TSTAMP}_${suffix}.sql" ]
38
+		do 
39
+			suffix=`expr $suffix + 1`
40
+		done
41
+		BACKUPFILE="${TARGETDIR}${JOBNAME}_${TSTAMP}_${suffix}.sql"
42
+	else
43
+		BACKUPFILE="${TARGETDIR}${JOBNAME}_${TSTAMP}.sql"
44
+	fi
45
+
46
+	if [ "$SOCKET" != "" ]
47
+	then
48
+		#mysqldump -n -B $DATABASE -u $USER -p${PASSWORD} -S $SOCKET > $BACKUPFILE 2> ${BACKUPFILE}.err
49
+		mysqldump -n -u $USER -p${PASSWORD} -S $SOCKET -h $SERVER $DATABASE > $BACKUPFILE 2> ${BACKUPFILE}.err
50
+	else
51
+		#mysqldump -n -B $DATABASE -u $USER -p${PASSWORD} -P $PORT > $BACKUPFILE 2> ${BACKUPFILE}.err
52
+		mysqldump -n -u $USER -p${PASSWORD} -P $PORT -h $SERVER $DATABASE > $BACKUPFILE 2> ${BACKUPFILE}.err
53
+	fi
54
+
55
+	if [ $? -eq 0 ]
56
+	then
57
+		echo Dump $BACKUPFILE created
58
+		if [ -f ${BACKUPFILE}.err ]
59
+		then
60
+			rm ${BACKUPFILE}.err &> /dev/null
61
+		fi
62
+		exit 0
63
+	else
64
+		cat ${BACKUPFILE}.err
65
+		if [ -f $BACKUPFILE ]
66
+		then
67
+			rm $BACKUPFILE &> /dev/null
68
+		fi
69
+		if [ -f ${BACKUPFILE}.err ]
70
+		then
71
+			rm ${BACKUPFILE}.err &> /dev/null
72
+		fi
73
+		exit 1
74
+	fi
75
+else
76
+	echo "Check target and source directories!"
77
+	exit 1
78
+fi