fix README.md

This commit is contained in:
2025-12-18 16:02:15 +01:00
parent e4b7b8dec7
commit f43880d4ea

View File

@@ -2,75 +2,81 @@
Script bash per eseguire il backup automatico di un database MySQL e della cartella del sito web. Script bash per eseguire il backup automatico di un database MySQL e della cartella del sito web.
## Avvio rapido
## Configurazione ## Configurazione
1. Crea il file `.secret` nella stessa cartella dello script: 1. Esegui lo script di inizializzazione:
```bash ```bash
cp .secret.example .secret chmod +x init.sh
./init.sh
``` ```
2. Modifica il file `.secret` con le tue credenziali: 2. Lo script ti chiederà:
- Nome utente
- Host del database (default: localhost)
- Nome del database
- Utente del database (default: nome del database)
- Password del database
3. Il file `.secret.UTENTE` verrà creato automaticamente con le credenziali fornite.
4. (Opzionale) Modifica il file per configurare Gotify e upload remoto:
```bash ```bash
DB_HOST=localhost nano .secret.UTENTE
DB_NAME=nome_del_tuo_database
DB_USER=tuo_utente
DB_PASS=tua_password
``` ```
3. Rendi eseguibile lo script: 5. Rendi eseguibile lo script di backup:
```bash ```bash
chmod +x backup.sh chmod +x backup.sh
``` ```
## Utilizzo ## Utilizzo
Esegui lo script specificando il dominio come parametro: Esegui lo script specificando utente e dominio:
```bash ```bash
./backup.sh nome_dominio ./backup.sh utente dominio
``` ```
Esempio: Esempio:
```bash ```bash
./backup.sh esempio.com ./backup.sh myuser esempio.com
``` ```
## !!!!!!WEBMIN!!!!!! ## Configurazione su Webmin/Cron
Scaricare il progetto da https://git.pyconetwork.it/francesco/cloudpanel-backup.git
```bash
cd /home/_UTENTE_/cloudpanel-backup
cp .secret.example .secret
-- Personalizzare le credenziali del DB
chmod +x backup.sh
```
Su cron manager inserisci la seguente stringa che deve essere
```bash
/home/$(whoami)/cloudpanel-backup/backup.sh nome_dominio
```
## Cosa fa lo script 1. Scarica il progetto:
```bash
cd /home/_UTENTE_/
git clone https://git.pyconetwork.it/francesco/cloudpanel-backup.git
cd cloudpanel-backup
```
1. Accetta il dominio come parametro da riga di comando 2. Configura con init.sh:
2. Legge le credenziali dal file `.secret` ```bash
3. Esegue il dump del database MySQL specificato chmod +x init.sh
4. Copia la cartella `/home/utente_DOMINIO/htdocs/DOMINIO` ./init.sh
5. Crea un archivio ZIP contenente: chmod +x backup.sh
- Dump del database (formato .sql) ```
- Copia completa della cartella htdocs
6. Il file ZIP finale ha il formato: `backup_DOMINIO_YYYYMMDD_HHMMSS.zip` 3. Su cron manager inserisci:
7. Pulisce i file temporanei ```bash
/home/UTENTE/cloudpanel-backup/backup.sh UTENTE dominio.com
```
## Funzionalità
1. Esegue il dump del database MySQL specificato
2. Copia la cartella `/home/UTENTE/htdocs/DOMINIO`
3. Crea un archivio ZIP contenente database e file del sito
4. (Opzionale) Trasferisce il backup su server remoto
5. (Opzionale) Invia notifiche via Gotify
6. Pulisce i file temporanei
7. Il file ZIP ha il formato: `backup_DOMINIO_YYYYMMDD_HHMMSS.zip`
## Note di sicurezza ## Note di sicurezza
- Il file `.secret` contiene credenziali sensibili - Il file `.secret.UTENTE` contiene credenziali sensibili
- Assicurati che abbia permessi appropriati: `chmod 600 .secret` - Assicurati che abbia permessi appropriati: `chmod 600 .secret.*`
- Non versionare il file `.secret` su repository pubblici - Non versionare i file `.secret.*` su repository pubblici
- Aggiungi `.secret` al tuo `.gitignore` - Sono già inclusi nel `.gitignore`
## Percorso delle cartelle
Lo script costruisce automaticamente il percorso basandosi sul dominio fornito:
- Utente: `utente_DOMINIO`
- Percorso: `/home/utente_DOMINIO/htdocs/DOMINIO`
Esempio per il dominio `esempio.com`:
- Percorso completo: `/home/utente_esempio.com/htdocs/esempio.com`