Files
cloudpanel-backup/README.md
2025-12-18 16:15:47 +01:00

86 lines
2.0 KiB
Markdown

# Script di Backup MySQL e htdocs
Script bash per eseguire il backup automatico di un database MySQL e della cartella del sito web.
## Avvio rapido
```bash
git clone https://git.pyconetwork.it/francesco/cloudpanel-backup.git && cd cloudpanel-backup && chmod +x *.sh && ./init.sh
```
## Configurazione
1. Esegui lo script di inizializzazione:
```bash
chmod +x init.sh
./init.sh
```
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
nano .secret.UTENTE
```
5. Rendi eseguibile lo script di backup:
```bash
chmod +x backup.sh
```
## Utilizzo
Esegui lo script specificando utente e dominio:
```bash
./backup.sh utente dominio
```
Esempio:
```bash
./backup.sh myuser esempio.com
```
## Configurazione su Webmin/Cron
1. Scarica il progetto:
```bash
cd /home/_UTENTE_/
git clone https://git.pyconetwork.it/francesco/cloudpanel-backup.git
cd cloudpanel-backup
```
2. Configura con init.sh:
```bash
chmod +x init.sh
./init.sh
chmod +x backup.sh
```
3. Su cron manager inserisci:
```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
- Il file `.secret.UTENTE` contiene credenziali sensibili
- Assicurati che abbia permessi appropriati: `chmod 600 .secret.*`
- Non versionare i file `.secret.*` su repository pubblici
- Sono già inclusi nel `.gitignore`