Go to file
2024-11-13 13:41:45 +00:00
mssql-backup.sh Update mssql-backup.sh 2024-11-12 12:01:28 +00:00
mssqlconfig.env Update mssqlconfig.env 2024-11-12 12:00:38 +00:00
readme.md Update readme.md 2024-11-13 13:41:45 +00:00

Manuale per lo Script di Backup di Database MS SQL Server

Introduzione

Questo script, denominato mssql-backup.sh, è progettato per eseguire il backup di database MS SQL Server. Lo script supporta sia backup locali che caricamenti su un server FTP, oltre a inviare notifiche via email riguardo allo stato del processo di backup.

Requisiti

Prima di eseguire lo script, assicurati di avere i seguenti requisiti:

Un sistema operativo basato su Linux con accesso a MS SQL Server. Installazione dei pacchetti ftp e msmtp (il comando per l'installazione è incluso nello script). Configurazione di un file di configurazione esterno (mssqlconfig.env) contenente le credenziali necessarie. Configurazione File di Configurazione: Crea un file chiamato mssqlconfig.env nella directory /zucchetti/backupdb/ con le seguenti variabili:

# SQL Server Configuration
USER="sa"
PASSWORD="DBP0l01nf0.."
HOST="localhost"
BACKUP_DIR="/zucchetti/backupdb/bkfiles"
SQLCMD="/opt/mssql-tools18/bin/sqlcmd"
SERVER_NAME="DBSQL01"   # Identificativo del server fisico
TRUST_CERTIFICATE=1     # 1 per accettare certificati autofirmati, 0 per richiederli validi

# Retention Configuration
RETENTION=1  # Retention per i backup locali in giorni
REMOTE_RETENTION=2  # Retention per i backup remoti in giorni

# Log Configuration
LOG_FILE="/zucchetti/backupdb/backup_log.txt"
ERROR_LOG_FILE="/zucchetti/backupdb/backup_err.txt"

# FTP Configuration
FTP_SERVER="terni.poloinformatico.it"
FTP_USER="backupmssqldb"
FTP_PASSWORD="!Li'D/i%2&*QkvK!"
REMOTE_DIR="/BackupDB"

# SMTP Configuration
SMTP_SERVER="smtp://relay.poloinformatico.it:587"
SMTP_USER="brass@relay.poloinformatico.it"
SMTP_PASS="DMKqP9vUYn8s"

# Modalità Backup
DO_LOCAL_BACKUP=1  # 1 per eseguire il backup locale, 0 per disabilitarlo
DO_FTP_BACKUP=1    # 1 per eseguire il backup FTP, 0 per disabilitarlo
  1. Variabili di Configurazione: Lo script utilizza le seguenti variabili di configurazione (alcune possono essere sovrascritte nel file mssqlconfig.env):
    • BACKUP_DIR: Directory per il backup locale.
    • SQLCMD: Percorso per il comando sqlcmd.
    • HOST: Indirizzo del server SQL.
    • RETENTION: Numero di giorni per mantenere i backup locali.
    • REMOTE_RETENTION: Numero di giorni per mantenere i backup remoti.
    • SERVER_NAME: Nome del server fisico.
    • LOG_FILE: File di log per il backup.
    • ERROR_LOG_FILE: File di log per gli errori.
    • REMOTE_DIR: Directory remota sul server FTP.
    • DO_LOCAL_BACKUP: Abilita (1) o disabilita (0) il backup locale.
    • DO_FTP_BACKUP: Abilita (1) o disabilita (0) il backup FTP.
    • TRUST_CERTIFICATE: Accetta certificati autofirmati (1) o richiedi certificati validi (0).

Permessi di Esecuzione: Assicurati che lo script abbia i permessi di esecuzione. Puoi farlo eseguendo: chmod +x mssql-backup.sh

Esecuzione: Avvia lo script con il seguente comando per effettuare il backup di tutti i databases presenti nel server: ./mssql-backup.sh

Esecuzione: Avvia lo script con il seguente comando per effettuare il backup di un solo database presente nel server: ./mssql-backup.sh nomedb

Funzionalità dello Script

Backup Locale: Se abilitato, lo script creerà una copia di backup locale dei database. Caricamento FTP: Se abilitato, lo script caricherà i backup sul server FTP specificato. Notifiche Email: Al termine del processo di backup, lo script invierà un'email con lo stato del backup e eventuali errori. Log e Errori Lo stato del processo di backup verrà registrato nel file di log specificato da LOG_FILE. Gli errori verranno registrati nel file di log specificato da ERROR_LOG_FILE. Conclusione Questo script fornisce un metodo automatizzato per gestire il backup dei database MS SQL Server. Assicurati di testare lo script in un ambiente di sviluppo prima di utilizzarlo in produzione e di controllare regolarmente i log per eventuali problemi.