commit a17da5687b6583ea8ebe52ef2bcc734253bc4c6c Author: Mattia Tadini Date: Wed Nov 13 13:39:23 2024 +0000 Add Home diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..fecd836 --- /dev/null +++ b/Home.md @@ -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. \ No newline at end of file