Add Home
commit
a17da5687b
91
Home.md
Normal file
91
Home.md
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
Manuale per lo Script di Backup di Database Postgres
|
||||||
|
|
||||||
|
Introduzione
|
||||||
|
|
||||||
|
Questo script, denominato `psql-backup.sh`, è progettato per eseguire il backup di database Postgres. 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 (`psqlconfig.env`) contenente le credenziali necessarie.
|
||||||
|
Configurazione
|
||||||
|
1. File di Configurazione: Crea un file chiamato `psqlconfig.env` nella directory `/zucchetti/backupdb/` con le seguenti variabili:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
# POSTGRES Server Configuration
|
||||||
|
USER="postgres"
|
||||||
|
PASSWORD="postgres"
|
||||||
|
HOST="localhost"
|
||||||
|
BACKUP_DIR="/zucchetti/backupdb/bkfiles"
|
||||||
|
PGDUMP="pg_dump"
|
||||||
|
PSQL="psql"
|
||||||
|
PORT="5432"
|
||||||
|
SERVER_NAME="PSQL14" # Identificativo del server fisico
|
||||||
|
COMPRESSION_LEVEL=9 # Livello di compressione (1-9)
|
||||||
|
|
||||||
|
# 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
|
||||||
|
2. Le seguenti variabili possono essere configurate direttamente nello script:
|
||||||
|
- `BACKUP_DIR`: Directory per i backup locali (default: `/zucchetti/backupdb/bkfiles`)
|
||||||
|
- `PGDUMP`: Comando per eseguire il dump del database (default: `pg_dump`)
|
||||||
|
- `PSQL`: Comando per interagire con PostgreSQL (default: `psql`)
|
||||||
|
- `HOST`: Host del server PostgreSQL (default: `localhost`)
|
||||||
|
- `PORT`: Porta del server PostgreSQL (default: `5432`)
|
||||||
|
- `RETENTION`: Numero di backup locali da mantenere (default: `1`)
|
||||||
|
- `REMOTE_RETENTION`: Numero di backup remoti da mantenere (default: `2`)
|
||||||
|
- `SERVER_NAME`: Nome identificativo del server fisico (default: `PGDB01`)
|
||||||
|
- `LOG_FILE`: File di log per le operazioni di backup (default: `/zucchetti/backupdb/backup_log.txt`)
|
||||||
|
- `ERROR_LOG_FILE`: File di log per gli errori (default: `/zucchetti/backupdb/backup_err.txt`)
|
||||||
|
- `REMOTE_DIR`: Directory remota su FTP per i backup (default: `/BackupDB`)
|
||||||
|
- `DO_LOCAL_BACKUP`: Abilita/disabilita backup locale (default: `1`)
|
||||||
|
- `DO_FTP_BACKUP`: Abilita/disabilita backup FTP (default: `1`)
|
||||||
|
- `COMPRESSION_LEVEL`: Livello di compressione per il backup (default: `9`)
|
||||||
|
Esecuzione dello Script
|
||||||
|
3. Permessi di Esecuzione: Assicurati che lo script abbia i permessi di esecuzione. Puoi farlo eseguendo:
|
||||||
|
chmod +x psql-backup.sh
|
||||||
|
1. Esecuzione: Avvia lo script con il seguente comando per effettuare il backup di tutti i databases presenti nel server:
|
||||||
|
./psql-backup.sh
|
||||||
|
|
||||||
|
|
||||||
|
2. Esecuzione: Avvia lo script con il seguente comando per effettuare il backup di un solo database presente nel server:
|
||||||
|
./psql-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 Postgres. 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