Manuale per lo Script di Backup di Database MS SQL Server
commit
acdd50a718
84
Home.md
Normal file
84
Home.md
Normal file
@ -0,0 +1,84 @@
|
||||
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
|
||||
1. 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).
|
||||
Esecuzione dello Script
|
||||
2. Permessi di Esecuzione: Assicurati che lo script abbia i permessi di esecuzione. Puoi farlo eseguendo:
|
||||
chmod +x mssql-backup.sh
|
||||
1. Esecuzione: Avvia lo script con il seguente comando per effettuare il backup di tutti i databases presenti nel server:
|
||||
./mssql-backup.sh
|
||||
|
||||
|
||||
2. 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.
|
||||
Loading…
Reference in New Issue
Block a user