#!/bin/bash CONTAINER="ms_db" PASS="mysecretpassword!" BAKS=$(ls -r backup/*.bak) for BAK in $BAKS do echo "Restoring backup: $BAK" # echo "RESTORE FILELISTONLY FROM DISK = '/$BAK'" VOLS=$(docker exec -it $CONTAINER /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P $PASS \ -Q "RESTORE FILELISTONLY FROM DISK = '/$BAK'" \ | tr -s ' ' | cut -d ' ' -f 1 | sed 1,2d | tail -r | sed 1,2d | tail -r) i=0 SQL="RESTORE DATABASE " for VOL in $VOLS do if [[ $i -eq 0 ]] then SQL+="$VOL FROM DISK = '/$BAK' WITH MOVE '$VOL' TO '/var/opt/mssql/data/$VOL.mdf'" else SQL+=", MOVE '$VOL' TO '/var/opt/mssql/data/$VOL.ldf'" fi i+=1 done # echo $SQL docker exec -it $CONTAINER /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P $PASS \ -Q "$SQL" done