Visitas

Copia con cron y montaje de carpetas

Lo primero que haremos para la copia es crear el script en la raiz, como vamos a hacer una copia la voy a llamar "respaldo.sh" y dentro ponemos lo primero es montar la carpeta donde vamos a guardar los datos, para eso tenemos que saber la IP del otro equipo, la carpeta donde se va a guarda y donde se va a montar esa carpeta en una carpeta local donde se va a ejecutar el script.

El nombre del archivo de la copia va a incluir el dia y la hora de cuando se ha realizado y para eso tenemos que poder el ´date +%d` y ponerle la variable DIA para que ponga el dia, poner +`date %m` y la variable MES, el `date +%Y` y la variable ANNO y por ultimo el `date +%H` y la variable HORA (las comillas invertidas sirven para ejecutar el comando que esta dentro de ellas)y lo ponemos como aparece en la imagen.

Para que aparezca el nombre tenemos que ponerlo de la siguiente manera "ARCHIVO=respaldo$ANNO$MES$DIA"_"$HORA00.zip", asi es como se llamaria el archivo una vez echo la copia.

Para que se haga la copia lo que tenemos que saber que vamos a copiar, para poder almacenar los datos y copiarlos tenemos que poner la siguiente linea "zip -r /respaldo/$ARCHIVO /etc/network/*" el "-r" significa que va a coger todo lo que halla de la carpeta que vamos a copiar, el "respaldo/$ARCHIVO" es donde esta el archivo donde se va a guardar el zip y el $ARCHIVO ponemos el simbolo $ antes del nombre para que detecte que es una variable y busque el nombre de la linea de arriba y por ultimo ponemos la ruta especifica que queremos montar, en mi caso voy a copiar "/etc/network/*" para que haga la copia de seguridad.

Y por ultimo desmontamos la carpeta del otro equipo con "umont" y el nombre de la carpeta donde se ha montado antes la carpeta con el mount y lo hacemos de la siguiente manera "umount /respaldo".


Una vez ya creado y configurado el script como queremos tenemos que darles permisos de ejecución por que cuando hagamos que se ejecute a una hora se va a abrir el archivo en vez de ejecutarse, para arreglarlo tenemos que añadirle permisos de ejecución al archivo y lo hacemos de la siguiente manera, "sudo chmod -x respaldo.sh" (el -x significa que el archivo se va a ejecutar):



Una vez ya dado permisos de escritura vamos a copiar el script a la carpeta /root con el siguiente comando "sudo cp respaldo.sh /root" 


Por ultimo vamos a crear la tarea para que se ejecute el script a una hora determinada, para hacerlo tenemos que editar el archivo crontab que esta en "/etc", en el archivo al final tenemos que definir cuando queremos que se ejecute, tenemos 5 parámetros, el primero es para los minutos, el segundo es la hora, el tercero es el día, el cuarto que mes y el quinto que día de la semana se va a ejecutar.

Vamos a comprobar a que se ejecute a una concreta y en el primer parámetro ponemos a que minuto se va ejecutar, se segundo parámetro es la hora concreta que se va a ejecutar y los otros paramos como no los vamos a utilizar lo dejamos como "*" por que no va a hacer ni ejecutar nada, después de eso tenemos que poner que usuario va a ejecutar el script pero el usuario tiene que tener permisos, yo pongo que sea el root que lo ejecute y por ultimo tenemos que poner donde esta alojado el script para que se ejecute y guardamos el archivo y ya tendríamos configurado una tarea de copia con cron



Comentarios

Entradas populares