Configurant-me les còpies de seguretat automatitzades a la Raspberry Pi 4

Configurant-me les còpies de seguretat automatitzades a la Raspberry Pi 4

Ací deixe un xicotet script (versió 0.1) per a les còpies de seguretat dels projectes que ja tinc funcionant a la Raspberry Pi 4 amb FreeBSD des de fa unes setmanes.

De moment l'script és un esquelet inicial i ara ja començaré a donar-li forma, fer-ho més mínimalista i afegir noves funcionalitats, però la meua urgència era obtenir les còpies de certs projectes i bases de dades per a la meua pau mental :)

BASES DE DADES
Per un costat tinc copies_bbdd.sh que em fa una còpia cada dia, a la 1h de la nit, perquè a les 24h programe sempre un reinici de la Raspberry Pi, aleshores el sistema FreeBSD 13 estarà super preparat per a començar les còpies i les deixarà al meu nuvolet domèstic que també és una Raspberry Pi amb dos discs de 4TB:

#Prepare les copies de seguretat de les webs de la Raspberry Pi 4 i les deiem al Nuvolet
cd /usr/local/www/
DATA=$(date +"%Y%m%d")
mkdir $DATA
cd $DATA

#Còpia de joancatala.net
#- - - - - - - - - - - - - - - - - - - - - - - -
mysqldump -h localhost -u USUARI -pCONTRASENYA joancatala_db > $DATA.joancatala_db.sql
scp $DATA.joancatala_db.sql joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.joancatala_db.sql

#Còpia de undergroundrevolution.org
#- - - - - - - - - - - - - - - - - - - - - - - -
mysqldump -h localhost -u USUARI -pCONTRASENYA undergroundrevolution_db > $DATA.undergroundrevolution_db.sql
scp $DATA.undergroundrevolution_db.sql joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.undergroundrevolution_db.sql

PROJECTES WEB I FITXERS DEL SISTEMA
I a continuació faig copies_dades.sh però aquest script no el passe cada dia, sinó nomès una vegada a la setmana, concretament el diumenges a les 3h de la matinada, que al Crontab es faria seguint les indicacions següents:

minut 0 + hora 03 + dia (qualsevol numero) + mes (qualsevol mes) + dia (el dilluns, el 0).
Resultat: 0 0 * * 0

Aleshores, aquest script és:

#Prepare les copies de seguretat de les webs de la Raspberry Pi 4 i les deiem al Nuvolet
cd /usr/local/www/
DATA=$(date +"%Y%m%d")
mkdir $DATA
cd $DATA

#Còpia de Crontab
#- - - - - - - - - - - - - - - - - - - - - - - -
crontab -l > $DATA.crontab.txt
scp $DATA.crontab.txt joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.crontab.txt

#Backup de rc.conf
#- - - - - - - - - - - - - - - - - - - - - - - -
cp /etc/rc.conf $DATA.rc.conf.txt
scp $DATA.rc.conf.txt joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.rc.conf.txt

#Còpia de nginx
#- - - - - - - - - - - - - - - - - - - - - - - -
tar cvfz $DATA.nginx.tar.gz /usr/local/etc/nginx
scp $DATA.nginx.tar.gz joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.nginx.tar.gz

#Còpia de joancatala.net
#- - - - - - - - - - - - - - - - - - - - - - - -
tar cvfz $DATA.joancatala.net.tar.gz /usr/local/www/joancatala.net/joancatala.net/
scp $DATA.joancatala.net.tar.gz joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.joancatala.net.tar.gz

#Còpia de opendata.joancatala.net
#- - - - - - - - - - - - - - - - - - - - - - - -
tar cvfz $DATA.opendata.joancatala.net.tar.gz /usr/local/www/joancatala.net/opendata.joancatala.net/
scp $DATA.opendata.joancatala.net.tar.gz joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.opendata.joancatala.net.tar.gz

#Còpia de galeriahtml.joancatala.net
#- - - - - - - - - - - - - - - - - - - - - - - -
tar cvfz $DATA.galeriahtml.joancatala.net.tar.gz /usr/local/www/joancatala.net/opendata.joancatala.net/
scp $DATA.galeriahtml.joancatala.net.tar.gz joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.galeriahtml.joancatala.net.tar.gz

#Còpia de hortet.joancatala.net
#- - - - - - - - - - - - - - - - - - - - - - - -
tar cvfz $DATA.hortet.joancatala.net.tar.gz /usr/local/www/joancatala.net/opendata.joancatala.net/
scp $DATA.hortet.joancatala.net.tar.gz joan@192.168.1.N:/mnt/disc1/Programari/backups/2023/Rpi4/
rm $DATA.hortet.joancatala.net.tar.gz

Com he comentat al principi d'aquest article, continuaré afegint cosetes i millores vàries, però hui tenia aquesta urgència per a deixar-la tancada i funcionant durant els dies de Nadal.

El crontab de copies_bbdd.sh és:

# +++ +++ +++ +++ +++  +++ +++ +++ +++ +++ +++ +++
# Iniciem copies_bbdd.sh cada matinada a la 01h
# +++ +++ +++ +++ +++  +++ +++ +++ +++ +++ +++ +++
00 01 * * * sh /usr/local/www/copies_bbdd.sh;

El crontab de copies_dades.sh és:

# +++ +++ +++ +++ +++  +++ +++ +++ +++ +++ +++ +++
# Iniciem copies_dades.sh cada dilluns a les 03h
# +++ +++ +++ +++ +++  +++ +++ +++ +++ +++ +++ +++
0 03 * * 0 sh /usr/local/www/copies_dades.sh;

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES