Script Basico para Realizar Backup Linux
Script Basico para Realizar Backup Linux
Lo que haremos ser bsicamente copiar una carpeta de nuestro sistema a un disco
duro secundario en mi caso, pero puede ser un disco duro externo, o una carpeta
compartida como dropbox que almacene nuestros datos en la nube, en otra maquina por
ssh etc..
Lo primero que tendremos que hacer ser instalar rsync ya que nos servira para
sincronizar ambas carpetas copiando solo los cambios, asi nos evitamos tener montones de
copias y tener que hacer todo el proceso en cada una de ellas.
En debian y derivados
sudo apt-get install rsync
En ArchLinux y derivados
sudo pacman -S rsync
Vamos a ver el script
1.
2.
3.
4.
5.
6.
7.
#!/bin/bash
#Script simple de backup por dmaciasblog
#variable de la carpeta que queremos respaldar
respaldo=/home/TU_USUARIO/TU_CARPETA
Lgicamente tenemos que cambiar lo que tenemos en mayusculas por nuestros datos
concretos a los que queremos hace backup.
Luego de editarlo con nuestros datos lo guardamos con extensin .sh, backup.sh lo guarde
yo y le damos permisos de ejecucin
chmod +x backup.sh
y lo tenemos listo para usarlo con un golpezazo de teclado
./backup.sh
Tambien decir que podeis ampliarlo facilmente para copiar multiples carpetas de este modo
1.
2. #!/bin/bash
3. #Script simple de backup por dmaciasblog
4.
5. #variable de la carpeta que queremos respaldar
6. respaldo=/home/TU_USUARIO/TU_CARPETA
7. respaldo1=/home/TU_USUARIO/.amule
8. respaldo2=/home/TU_USUARIO/.wine
9. respaldo3=/home/TU_USUARIO/imagenes
10.
TU_CARPETA
En una proxima entrada veremos como automatizar este script para que lo lance 1 dia a
la semana por ejemplo, as tendremos un backup actualizado y si rompemos algo las
perdidas seran mnimas.
Como siempre podemos abtener mucha mas info haciendo man rsync
Cualquier duda pues a los comentarios
#!/bin/bash
date > /backup/log_copia
tar cvf /backup/pepe.tar /home/pepe
if [ $? -eq 0 ];then
# comprimimos el archivo
gzip /home/pepe.tar
if [ $? -eq 0 ];then
echo "Backup realizado con xito consulta /home/backup/log_copia
para mas informacion"
else
echo "Ha habido un problema al comprimir el archivo"
fi
else
echo "Se ha producido un error"
fi