Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

2.1. Archivos rotativos NFS


En esta sección, el script de shell se modificará ligeramente para implementar un esquema de rotación abuelo-padre-hijo (mensual-semanal-diario):

• La rotación hará un todos los días respaldo de domingo a viernes.

• El sábado a una vez por semana La copia de seguridad se realiza y le proporciona cuatro copias de seguridad semanales al mes.

• El mensual la copia de seguridad se realiza el primer día del mes, rotando dos copias de seguridad mensuales en función de si el mes es par o impar.


Aquí está el nuevo guión:


#! / Bin / bash

####################################

#

# Copia de seguridad en el script de montaje NFS con

# rotación abuelo-padre-hijo.

#

####################################


# Qué hacer copia de seguridad.

backup_files = "/ home / var / spool / mail / etc / root / boot / opt"


# Dónde realizar la copia de seguridad. dest = "/ mnt / backup"


# Configurar variables para el nombre del archivo de almacenamiento. día = $ (fecha +% A)

nombre de host = $ (nombre de host -s)


# Encuentre qué semana del mes 1 al 4 es. núm_día = $ (fecha +% - d)

si (($ número_día <= 7)); luego week_file = "$ hostname-week1.tgz"

elif (($ núm_día> 7 && $ núm_día <= 14)); luego week_file = "$ hostname-week2.tgz"

elif (($ núm_día> 14 && $ núm_día <= 21)); luego week_file = "$ hostname-week3.tgz"

elif (($ núm_día> 21 && $ núm_día <32)); luego week_file = "$ hostname-week4.tgz"

fi



# Encuentre si el mes es par o impar. mes_num = $ (fecha +% m)

mes = $ (expr $ mes_num% 2) si [$ mes -eq 0]; luego

month_file = "$ nombre de host-mes2.tgz"

más


fi


month_file = "$ nombre de host-mes1.tgz"


# Crear nombre de archivo de almacenamiento. if [$ day_num == 1]; luego archive_file = $ month_file

elif [$ día! = "Sábado"]; luego archive_file = "$ hostname- $ day.tgz"

else archive_file = $ week_file

fi


# Imprimir mensaje de estado de inicio.

echo "Copia de seguridad de $ backup_files en $ dest / $ archive_file" fecha

echo


# Copia de seguridad de los archivos utilizando tar.

tar czf $ dest / $ archive_archivo $ backup_files


# Imprimir mensaje de estado final. eco

echo "Fecha de finalización de la copia de seguridad"


# Lista larga de archivos en $ dest para verificar el tamaño de los archivos. ls -lh $ dest /


La secuencia de comandos se puede ejecutar utilizando los mismos métodos que en la Sección 1.2, “Ejecución de la secuencia de comandos” [p. 325].


Es una buena práctica llevar los medios de respaldo fuera del sitio en caso de un desastre. En el ejemplo del script de shell, el medio de copia de seguridad es otro servidor que proporciona un recurso compartido NFS. Con toda probabilidad, llevar el servidor NFS a otra ubicación no sería práctico. Dependiendo de las velocidades de conexión, puede ser una opción copiar el archivo de almacenamiento a través de un enlace WAN a un servidor en otra ubicación.


Otra opción es copiar el archivo de almacenamiento a un disco duro externo que luego se puede llevar fuera del sitio. Dado que el precio de los discos duros externos sigue bajando, puede resultar rentable utilizar dos discos para cada nivel de archivo. Esto le permitiría tener una unidad externa conectada al servidor de respaldo y otra en otra ubicación.


Top OS Cloud Computing en OnWorks: