File tree 1 file changed +32
-0
lines changed
1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ devices=( " SQLPROD" " SQLDEV" )
3
+ backupPath=" /share/DOCKERMEDIA/DBbackup"
4
+
5
+ # perform backup
6
+ for i in " ${devices[@]} " ; do
7
+ STR=$( docker ps -aqf name=" $i " )
8
+ echo " Processing $STR "
9
+ SAPWD=$( docker exec " $STR " /bin/bash -c " echo \$ SA_PASSWORD" )
10
+ for test in $( docker exec -it $STR /bin/bash -c " /opt/mssql-tools/bin/sqlcmd -U SA -S localhost -P $SAPWD -h -1 -Q 'set nocount on;select name from sys.databases'" )
11
+ do
12
+ if [ ${# test} -ge 2 ]; then # skip blank lines
13
+ filename=" $( date +%Y%m%d_%H%M%S) _${i} _${test} .bak"
14
+ # echo "$filename"
15
+ $( docker exec " $STR " /opt/mssql-tools/bin/sqlcmd -U SA -S localhost -P " $SAPWD " -h -1 -Q " set nocount on;BACKUP DATABASE [$test ] TO DISK='/var/opt/mssql/data/$filename ' WITH INIT" )
16
+ cd $backupPath
17
+ $( docker cp " $STR " :/var/opt/mssql/data/$filename $filename )
18
+ $( echo " $filename " > lastbackup.txt)
19
+ $( docker cp lastbackup.txt " $STR " :/var/opt/mssql/data/lastbackup.txt)
20
+ fi
21
+ done
22
+ done
23
+
24
+ # perform remove of remnant backcups
25
+ echo " Cleaning .bak files in the containers"
26
+ for i in " ${devices[@]} " ; do
27
+ STR=$( docker ps -aqf name=" $i " )
28
+ echo " Processing $STR "
29
+ $( docker exec " $STR " /bin/bash -c " rm /var/opt/mssql/data/*.bak" )
30
+ done
31
+ done
32
+
You can’t perform that action at this time.
0 commit comments