Y aquiva van las opciones para el comandos de consola sqlcmd y sqlpackage:
sqlcmd
y sqlpackage
)sqlcmd -S servidor -U usuario -P contraseña
.sql
:sqlcmd -S servidor -U usuario -P contraseña -d base -i script.sql
sqlcmd -S servidor -U usuario -P contraseña -Q "SELECT * FROM tabla"
sqlcmd -S servidor -U usuario -P contraseña -Q "BACKUP DATABASE [base] TO DISK = N'/ruta/respaldo.bak' WITH INIT"
backup_sqlserver.sh
#!/bin/bash
SERVIDOR="localhost"
USUARIO="tu_usuario"
CLAVE="tu_contraseña"
BASES=(base1 base2)
DIR_BACKUP="/ruta/a/backups"
FECHA=$(date +%F)
mkdir -p "$DIR_BACKUP"
for BASE in "${BASES[@]}"; do
sqlcmd -S "$SERVIDOR" -U "$USUARIO" -P "$CLAVE" -Q "BACKUP DATABASE [$BASE] TO DISK = N'$DIR_BACKUP/${BASE}_$FECHA.bak' WITH INIT"
done
cron
Como en los anteriores:
crontab -e
Y añade:
0 2 * * * /ruta/a/backup_sqlserver.sh