Add install_db_backup.sh
This commit is contained in:
commit
6ff8c5ada4
63
install_db_backup.sh
Normal file
63
install_db_backup.sh
Normal file
@ -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."
|
||||||
Loading…
Reference in New Issue
Block a user