tochoromero
Bovino adicto
- Desde
- 2 Ene 2006
- Mensajes
- 982
- Tema Autor
- #1
Hola comunidad, nunca he aportado algo de este tipo pero me surgió la necesidad, la solucioné y la comparto con ustedes.
Actualmente estoy trabajando en mi Compilador (para los que estudiaron ingeniería en sistemas saben de qué estoy hablando), el caso es: ¿A cuántos de ustedes no les ha pasado que están trabajando tranquilamente, compilan su proyecto y zas no corre, y no tienen ni idea de qué fue lo que sucedió y para acabar de amolar no han hecho respaldos desde sabe cuando
Apoco no es de lo peor? Pues se me ocurrió hacer un pequeño script que haga respaldos periódicamente de mi proyecto, sólo le tienes que especificar la carpeta de tu proyecto, una carpeta para respaldos, el intervalo entre respaldos y la cantidad de respaldos a guardar y listo a trabajar con toda confianza, sencillo pero práctico y funcional, les dejo el script para si lo quieren utilizar, hay algunas cosas que se pueden mejorar, en cuanto tenga chanza lo modifico para que también lo suba a un servidor FTP
Si tienen comentarios o sugerencias adelante.
Sí alguien tiene dudas de como se usa pregunten y con gusto les explico.
Saludos
Actualmente estoy trabajando en mi Compilador (para los que estudiaron ingeniería en sistemas saben de qué estoy hablando), el caso es: ¿A cuántos de ustedes no les ha pasado que están trabajando tranquilamente, compilan su proyecto y zas no corre, y no tienen ni idea de qué fue lo que sucedió y para acabar de amolar no han hecho respaldos desde sabe cuando


Sí alguien tiene dudas de como se usa pregunten y con gusto les explico.
Saludos
Código:
#!/bin/bash
#Crea una copia de seguridad de la carpeta especificada.
#
carpOriginal="ruta completa de tu carpeta original"; #esta la carpeta de la que se quiere hacer respaldo
carpRespaldo="ruta completa de tu carpeta de respaldos"; #esta es la carpeta donde se quiere respaldar
numeroRespaldos=6 #Cantidad de respaldos que guarda antes de borrar
intervalo=5 #intervalo de tiempo en segundos entre cada respaldos
infinito=
numeroCarpetas=0
#Verificar si existe la carpeta original
if [ ! -d $carpOriginal ]
then
echo No existe la carpeta especificada
exit 1
fi
#Verificar si existe la carpeta donde se desea hacer el respaldo
if [ ! -d $carpRespaldo ]
then
mkdir "$carpRespaldo"
fi
#vamonos a la carpeta de respaldo
cd $carpRespaldo
until [ "$infinito" ]
do
#verificamos cuantas carpetas tenemos
numeroCarpetas=$( ls | wc -l )
if [ $numeroCarpetas -ge $numeroRespaldos ]
then
#Si tenemos mas de 6 carpetas eliminar la más vieja
carpEliminar=$( ls -tr | tr "$IFS" ";" | cut -f1 -d";" )
rm -R $carpEliminar
fi
#Creamos la carpeta para el respaldo
fecha=$(date +'%d-%m-%T')
mkdir "$carpRespaldo/$fecha"
cp -R $carpOriginal "$carpRespaldo/$fecha" #copiamos la carpeta original
sleep $intervalo
done