fix README.md
This commit is contained in:
98
README.md
98
README.md
@@ -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`
|
|
||||||
|
|||||||
Reference in New Issue
Block a user