Para hacer una copia de seguridad de mis datos utilizo rdiff-backup
(2.0.5) en Ubuntu 20.10. La cantidad de datos es de sólo 127 GB, pero 80.000 archivos/17.000 carpetas (principalmente repositorios de código fuente, fotos).
El problema que descubrí es que rdiff-backup parece ser terriblemente lento al agregar archivos nuevos. Escribí un script bash para demostrarlo (ver más abajo).
Lo que hace el guión es:
- Genera 1000 archivos vacíos
- Hacer copia de seguridad inicial
- Genera otros 1000 archivos vacíos
- hacer otra copia de seguridad
Mientras que la copia de seguridad inicial tarda aproximadamente 1 segundo, la segunda tarda 7 segundos (resultados detallados a continuación). Esto no suena mucho, pero con mis datos de la vida real termino con varias horas para muy pocos archivos nuevos.
Lo que me desconcierta es que sólo el tiempo "real" parece explotar. ¿Se atasca rdiff-backup con otros procesos?
Ejecuto el ejemplo en un SSD SATA ext4 interno.
Guion:
#!/bin/bash
mkdir src
mkdir dest
files=1000
printf "Creating some dummy files.\n"
for (( i=1; i<=$files; i++ ))
do
touch "src/$i.txt"
done
printf "First run."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Second run, nothing changed."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Creating some more dummy files.\n"
for (( i=$files+1; i<=$files*2; i++ ))
do
touch "src/$i.txt"
done
printf "Third run, adding new files to backup."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Forth run, nothing changed."
time rdiff-backup src/ dest/
Producción:
Creating some dummy files.
First run.
real 0m1,076s
user 0m0,869s
sys 0m0,157s
Second run, nothing changed.
real 0m0,511s
user 0m0,419s
sys 0m0,037s
Creating some more dummy files.
Third run, adding new files to backup.
real 0m7,460s <--- 7 times longer!
user 0m1,374s
sys 0m0,310s
Forth run, nothing changed.
real 0m0,747s
user 0m0,645s
sys 0m0,053s