From 6ff8c5ada4857ae46b582e931fba7083d0e7d53d Mon Sep 17 00:00:00 2001 From: Mattia Tadini Date: Fri, 29 Nov 2024 14:51:26 +0000 Subject: [PATCH] Add install_db_backup.sh --- install_db_backup.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 install_db_backup.sh diff --git a/install_db_backup.sh b/install_db_backup.sh new file mode 100644 index 0000000..3a3d2b8 --- /dev/null +++ b/install_db_backup.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# Script per l'installazione del backup di database PostgreSQL o MSSql +# Autore: Mattia Tadini +# Nome File: install_db_backup.sh +# Revisione: 1.0 + +# Variabili globali +BACKUP_DIR="/zucchetti/backupdb/" +MSSQL_BACKUP_SCRIPT_URL="https://dl.poloinformatico.it/assistenza/Scripts/mssql-backup.sh" +MSSQL_CONFIG_URL="https://dl.poloinformatico.it/assistenza/Scripts/mssqlconfig.env" +POSTGRES_BACKUP_SCRIPT_URL="https://dl.poloinformatico.it/assistenza/Scripts/postgres-backup.sh" +POSTGRES_CONFIG_URL="https://dl.poloinformatico.it/assistenza/Scripts/psqlconfig.env" + +# Crea la cartella /zucchetti/backupdb/ +mkdir -p $BACKUP_DIR + +# Chiedi al utente di scegliere il tipo di database +read -p "Vuoi installare lo script per MSSQL o PostgreSQL? (mssql/postgres): " choice + +if [[ "$choice" == "mssql" ]]; then + # Scarica i file per MSSQL + wget $MSSQL_BACKUP_SCRIPT_URL -O $BACKUP_DIR/mssql-backup.sh + wget $MSSQL_CONFIG_URL -O $BACKUP_DIR/mssqlconfig.env + + # Commento specifico per MSSQL + cron_comment="### Backup Database MSSQL ###" +else + # Scarica i file per PostgreSQL + wget $POSTGRES_BACKUP_SCRIPT_URL -O $BACKUP_DIR/postgres-backup.sh + wget $POSTGRES_CONFIG_URL -O $BACKUP_DIR/psqlconfig.env + + # Commento specifico per PostgreSQL + cron_comment="### Backup Database PostgreSQL ###" +fi + +# Imposta i permessi eseguibili sui file .sh +if [[ "$choice" == "mssql" ]]; then + chmod +x $BACKUP_DIR/mssql-backup.sh +else + chmod +x $BACKUP_DIR/postgres-backup.sh +fi + +echo "Script installati." + +# Chiedi l'ora di esecuzione del backup nel formato HH:MM +read -p "Inserisci l'ora di esecuzione del backup (HH:MM): " user_time + +# Estrai l'ora e i minuti dall'imput dell'utente +IFS=':' read -r hour minute <<< "$user_time" + +# Converti l'ora nel formato HH:MM per il cron +cron_time="$minute $hour * * *" + +# Aggiungi la linea al file /etc/crontab con il commento +if [[ "$choice" == "mssql" ]]; then + echo "$cron_comment" | sudo tee -a /etc/crontab > /dev/null + echo "$cron_time root /bin/bash $BACKUP_DIR/mssql-backup.sh" | sudo tee -a /etc/crontab >> /dev/null +else + echo "$cron_comment" | sudo tee -a /etc/crontab > /dev/null + echo "$cron_time root /bin/bash $BACKUP_DIR/postgres-backup.sh" | sudo tee -a /etc/crontab >> /dev/null +fi + +echo "Cron impostato correttamente." \ No newline at end of file