Bonjour, j'ai un problème de connaissance en script shell. Je veux faire une commande toute simple qui me permet de sauvegarder une base de donnée dans un container docker
Voici ce qui est affiché dans la console après execution (il y a des echo) :
1 2 3 4
| stretch@DebianStretch:~/scripts/backup/mssql$ ./backup_mssql.sh
sql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P MOTDEPASSE -Q "BACKUP LOG WITH NORECOVERY DATABASE [vega] TO DISK = N'/var/opt/mssql/backup/MSSQL_vega-2017-11-07-20.31.43.bak' WITH NOFORMAT, NOINIT, NAME = 'vega', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
---
Sqlcmd: 'LOG" "WITH" "NORECOVERY" "DATABASE" "[vega]" "TO" "DISK" "=" "N'/var/opt/mssql/backup/MSSQL_vega-2017-11-07-20.31.43.bak'" "WITH" "NOFORMAT," "NOINIT," "NAME" "=" "'vega'," "SKIP," "NOREWIND," "NOUNLOAD," "STATS" "=" "10""': Unexpected argument. Enter '-?' for help. |
et voici mon script
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/bash
HOST="localhost"
LOGIN="SA"
PASSWORD="MOTDEPASSE"
DATABASE="vega"
DATEBACKUP=$(date +%Y-%m-%d-%H.%M.%S)
CMDLINE="BACKUP LOG WITH NORECOVERY DATABASE [$DATABASE] TO DISK = N'/var/opt/mssql/backup/MSSQL_$DATABASE-$DATEBACKUP.bak' WITH NOFORMAT, NOINIT, NAME = '$DATABASE', SKIP, NOREWIND, NOUNLOAD, $
CMDLINE_COMPLET="sql1 /opt/mssql-tools/bin/sqlcmd -S $HOST -U $LOGIN -P $PASSWORD -Q \"$CMDLINE\""
echo $CMDLINE_COMPLET
echo "---"
docker exec -it $CMDLINE_COMPLET |
la commande que je veux executer est toute simple :
docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S $HOST -U $LOGIN -P $PASSWORD -Q "BACKUP LOG WITH NORECOVERY DATABASE [$DATABASE] TO DISK = N'/var/opt/mssql/backup/MSSQL_$DATABASE-$DATEBACKUP.bak' WITH NOFORMAT, NOINIT, NAME = '$DATABASE', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
comment faire pour éviter cette erreur à l'execution du script ? Le shell me met tout les mots entre parenthèse, c'est une erreur bizarre que je n'arrive pas à résoudre :
Sqlcmd: 'LOG" "WITH" "NORECOVERY" "DATABASE" "[vega]" "TO" "DISK" "=" "N'/var/opt/mssql/backup/MSSQL_vega-2017-11-07-20.31.43.bak'" "WITH" "NOFORMAT," "NOINIT," "NAME" "=" "'vega'," "SKIP," "NOREWIND," "NOUNLOAD," "STATS" "=" "10""': Unexpected argument. Enter '-?' for help.
J'ai pourtant mis des
Partager