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
... ...
@@ -4,7 +4,7 @@
4 4
 # eSales Media Backup Script
5 5
 #
6 6
 # Author: Benjamin Roth
7
-# Version: 20100615
7
+# Version: 18.0.3
8 8
 #+++++++++++++++++++++++++++++++++++++++++++++++++++
9 9
 
10 10
 
Browse code

Prevent runtime file changes by using rsync directory copy if available

Benjamin Roth authored on19/01/2018 21:12:10
Showing1 changed files
... ...
@@ -40,7 +40,7 @@ function run() {
40 40
 	then
41 41
 		echo "Analyzing job $val..."
42 42
 		cat ${CONFIGPATH}${val} |
43
-		while read LINE
43
+		while IFS=$'\r\n' read LINE
44 44
 		do
45 45
 			if [ "$LINE" = "" ]
46 46
 			then
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,103 @@
1
+#!/bin/bash
2
+
3
+#+++++++++++++++++++++++++++++++++++++++++++++++++++
4
+# eSales Media Backup Script
5
+#
6
+# Author: Benjamin Roth
7
+# Version: 20100615
8
+#+++++++++++++++++++++++++++++++++++++++++++++++++++
9
+
10
+
11
+
12
+
13
+##########################
14
+#     CONFIG SECTION     #
15
+##########################
16
+SCRIPT=${BASH_SOURCE[o]}
17
+SCRIPTPATH=`dirname $SCRIPT`/
18
+INCLUDEPATH=${SCRIPTPATH}include/
19
+CONFIGPATH=${SCRIPTPATH}jobs/
20
+
21
+BACKUPPATH=${SCRIPTPATH}../backup/
22
+
23
+
24
+#############################
25
+#     UTILITY FUNCTIONS     #
26
+#############################
27
+function progress() {
28
+	echo -n " ..."
29
+	#ps ax | awk '{ print $1 }' | grep -w $$ > /dev/null
30
+	while true
31
+	do
32
+		echo -n "."
33
+		sleep 3
34
+	done
35
+}
36
+
37
+function run() {
38
+	val=$1
39
+	if [ -f ${CONFIGPATH}${val} -a ${val} != "skeletton" ]
40
+	then
41
+		echo "Analyzing job $val..."
42
+		cat ${CONFIGPATH}${val} |
43
+		while read LINE
44
+		do
45
+			if [ "$LINE" = "" ]
46
+			then
47
+				continue
48
+			else
49
+				LINE=`echo $LINE | sed 's/^\s*\(.*\) *$/\1/'`
50
+
51
+				if [ "`echo $LINE | grep "^\s*[a-zA-Z0-9_]*::.*"`" != "" ]
52
+				then
53
+					DRIVER=`echo $LINE | sed 's/^\s*\([a-zA-Z0-9_]*\)::.*$/\1/'`
54
+					if [ -f ${INCLUDEPATH}driver_${DRIVER} ]
55
+					then
56
+						echo -en "\tStarting process $DRIVER"
57
+						progress &
58
+						PROGRESSPID=$!
59
+						trap 'kill $PROGRESSPID &> /dev/null; exit 1' 2 15
60
+						# Load driver and execute
61
+						msg=`. ${INCLUDEPATH}driver_${DRIVER} $LINE $BACKUPPATH $val`
62
+						stat=$?
63
+						kill $PROGRESSPID &> /dev/null
64
+						if [ $stat -eq 0 ]
65
+						then
66
+							echo -n " OK"
67
+							echo
68
+							#echo -e "\t# ${msg}"
69
+						else
70
+							echo -n " ERROR"
71
+							echo
72
+							echo -e "\t# ${msg}"
73
+						fi
74
+					else
75
+						echo -e "\tDriver $DRIVER not found. Check include dir for driver file."
76
+					fi
77
+				fi
78
+
79
+			fi
80
+		done
81
+		echo "done"
82
+	else
83
+		if [ ${val} != "skeletton" ]
84
+		then
85
+			echo -e "\tConfig file $val not found."
86
+		fi
87
+	fi
88
+}
89
+
90
+
91
+###############
92
+#     RUN     #
93
+###############
94
+if [ $1 ]
95
+then
96
+	run $1
97
+else
98
+	ls -1 $CONFIGPATH |
99
+	while read val
100
+	do
101
+		run $val
102
+	done
103
+fi