Hola!
Tan sólo quería compartir que he desarrollado un pequeño script para que me mande un correo diario con los últimas copias de seguridad realizadas. De esta forma espero que sea sencillo darse cuenta si alguno no funciona bien.
Un saludo!
Hola!
Tan sólo quería compartir que he desarrollado un pequeño script para que me mande un correo diario con los últimas copias de seguridad realizadas. De esta forma espero que sea sencillo darse cuenta si alguno no funciona bien.
Un saludo!
Hola,
Para dejarlo documentado, os paso el código (sin la información sensible). Este script lo tengo en un servidor mío (ya que centraliza varios proyectos), aunque se podría implementar des de cualquier otro, incluso una RPi.
Primero, copio mi llave pública en el servidor dónde se hacen las copias:
ssh-copy-id anartist@XX.XXX.XXX.XX
Y creo una carpeta dónde montar las copias de seguridad e instalo dependencias:
mkdir borgbackup
apt install sshfs borgbackup
Este es el cógido del script:
#!/bin/bash
cd /root
echo "BACKUP REPORT" > report.txt
echo "" >> report.txt
date >> report.txt
echo "" >> report.txt
## Anartist
sshfs anartist@XX.XXX.XXX.XX:/home/anartist/borgbackup borgbackup/
echo "" >> report.txt
echo "ANARTIST" >> report.txt
### Audio
echo "Audio" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/audio | tail -1 >> report.txt
### Blog
echo "Blog" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/blog | tail -1 >> report.txt
### Cloud
echo "Cloud" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/cloud | tail -1 >> report.txt
### Forum
echo "Forum" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/forum | tail -1 >> report.txt
### Mail
echo "Mail" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/mail | tail -1 >> report.txt
### Picto
echo "Picto" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/picto | tail -1 >> report.txt
### Site
echo "Site" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/site | tail -1 >> report.txt
### Social
echo "Social" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/social | tail -1 >> report.txt
### Video
echo "Video" >> report.txt
export BORG_PASSPHRASE='XXXXXXX'
borg list borgbackup/video | tail -1 >> report.txt
fusermount -u borgbackup/
echo "Report finalizado!" >> report.txt
python mail.py "$(cat report.txt)"
Y el script “mail.py”:
import smtplib, ssl, sys
port = 587 # For SSL
smtp_server = "mail.anartist.org"
password = "XXXXXXXXX"
sender_email = "XXX@anartist.org"
receiver_email = "XXX@XXX.XXX"
subject = "Backup report"
message = """From: %s\nTo: %s\nSubject: %s\n\n%s""" % (sender_email, receiver_email, subject, sys.argv[1])
# Create a secure SSL context
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.starttls(context=context)
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)
Y finalimente, configuro el cron:
0 6 * * * bash /root/report.sh
Pregunta sin prisa: ¿cómo estamos haciendo copias de seguridad hoy día? Y para estar seguro ¿se están haciendo copias de Podkasts también?
Y si esto es aún un problema: Lentitud en los servidores
Los backups los estamos haciendo con borg. Está explicado aquí cómo lo implementé: Backups incrementales con Borg
No se están haciendo para Podkasts aún, pero lo podemos implementar muy rápido. Se puedes configurar los backups des de la interfaz? Luego yo configuraré el cron para que se copien al servidor externo de backups que tenemos.
El Discourse de Podkasts ya está generando su copia de seguridad diaria. Sí, me refería a algún mecanismo para guardar la copia más reciente o así fuera del servidor por si acaso.
Genial, pues lo configuro en cuanto pueda. Lo guay de borg y los programas con copias incrementales es que se pueden almacenar muchas “versiones” sin que ocupen mucho más.
En principio ya está. Mañana revisaré que se haya hecho bien la de esta noche. Un día te lo puedo explicar con calma, @icaria36.