PDF de programación - Manual de Usuario, Scripts de copia de seguridad

Imágen de pdf Manual de Usuario, Scripts de copia de seguridad

Manual de Usuario, Scripts de copia de seguridadgráfica de visualizaciones

Publicado el 25 de Junio del 2018
2.247 visualizaciones desde el 25 de Junio del 2018
126,1 KB
5 paginas
Creado hace 15a (04/02/2009)
Título:
Versión
Autor:

Manual de Usuario - Scripts de copia de seguridad.
20090203.
Jorge Iván Meza Martínez <[email protected]>.

Instalación.

Creación del usuario del sistema operativo.

Por razones de seguridad se recomienda crear un usuario independiente para la realización de
las copias de seguridad y ubicar su directorio hogar en una partición con suficiente espacio.

Los archivos de las copias de seguridad se obtienen de los diferentes equipos a través del
protocolo seguro SSH, motivo por el cual es necesario que que se cuente con este protocolo
instalado en cada uno de los equipos y que se establezcan relaciones de confianza sin contraseña
entre la cuenta del usuario de copias de seguridad y ellos.

Para realizar la configuración de la conexión sin contraseña utilizando SSH revisar el siguiente
artículo.

• Bajo Linux:

http://www.jorgeivanmeza.com/blog/2009/02/02/conexiones-con-ssh-sin-contrasena-
desde-linux/

La cuenta del usuario de copias de seguridad sólo debería utilizarse para tal fin, por este motivo
realice los ajustes que considere necesarios para aumentar su nivel de seguridad como por
ejemplo los siguientes sin limitarse sólo a ellos.

• Utilice una contraseña compleja, con letras minúsuculas y mayúsculas, números y

• Realice un control adecuado sobre quien conoce la contraseña y accede al sistema con

símbolos.

ella.

• Cambie su contraseña con cierta frecuencia.
• Limite el acceso al directorio hogar del usuario de copias de seguridad. En Linux

ejecute el siguiente comando en el shell del usuario: chmod 700 ~

• Utilice siempre protocolos seguros (SSH/SFTP) para acceder a la cuenta del usuario.

Instalación de los archivos

Descomprima la distribución de los scripts de copia de seguridad y ubíquelos en la carpeta
hogar del usuario de copias de seguridad.

bin/

run_backup
run_all_backups

Scripts de copia de seguridad
Ejecuta una instancia de copias de seguridad.
Ejecuta todos las instancias de copia de seguridad.

instances/

tools/

files/

yyyymmdd/

Configuraciones de las diferentes cuentas a las cuales
se les va a hacer una copia de seguridad.
Scripts de apoyo (uso interno).
Ubicación de los archivos de las copias de seguridad.
Copias de seguridad de un día específico (dd-mm-yyyy).

Todos los scripts que se encuentran ubicados bajo la carpeta bin/ deben tener permisos de
ejecución.

Configuración.

Para configurar una nueva ubicación para copia de seguridad se debe crear una nueva instancia en el
directorio bin/instances. Existen dos tipos de instancias: las instancias de archivos (files) y las
instancias de base de datos MySQL (db).

Por convención se sugiere nombre los nombres de los archivos de configuración de instancias de la
siguiente manera: [identificador de servidor].[db|files].[proyecto].

Por ejemplo, la instancia llamada registro.files.inscripcion hará referencia a la copia de
seguridad de los archivos del sistema de inscripción del servidor de registro.

Si se desea incluír a la instancia recién creada en la ejecución de todas las instancias, edite el archivo
run_all_backups y agregue el nombre del archivo de la instancia al arreglo INSTANCES.

En los archivos de instancias se definen ciertas características del acceso a la información según el tipo
de esta. Las características necesarias para cada tipo se describen a continuación.

Instancias de copia de archivos.

#!/bin/sh

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

# Server where the files are located
HOST=www.server.com

# Path that will be backed up (space separated)
SOURCE="~/PATH1 ~/PATH2"

# Paths that will be excluded (space separated), 0 for none
EXCLUDE="~/NOINCLUDE1 ~/NOINCLUDE2"

# Username to connect to $HOST
USERNAME=anr_usr

# The project ID (x-files-y)
PROJECT=backup-files-examples

# Where the backup files will be locally stored
TARGET=~/files

# SSH preferred version (1 is unsecure!)
SSH_VERSION=2

# Current date/time values
export TZ=America/Bogota
DATE=`date +%Y%m%d`
TIME=`date +%H%M%S`

export HOST SOURCE TARGET EXCLUDE USERNAME PASSWORD PROJECT DATE
TIME SSH_VERSION

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

# Call the tool to backup the files!
tools/_backup_files.sh

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

Las secciones marcadas con el color verde muy probablemente no requieran de ningún tipo de
modificaciones. Las secciones marcadas de color azul representan la información necesaria
para acceder a los archivos que se desean incluír en la copia de seguridad. El significado de los
campos azules se resumen a continuación.

• HOST: dirección o nombre del servidor donde se encuentran los archivos. Este servidor

debe tener el servicio SSH configurado como se mencionó anteriormente.

• SOURCE: ruta donde se encuentran los archivos que se van a incluír en la copia de

seguridad. Pueden especificarse varias rutas separadas por un espacio.

• EXCLUDE: rutas incluídas en la definición de $SOURCE que se desean excluír de la

copia de seguridad. Pueden especificarse varias rutas separadas por un espacio.

• USERNAME: nombre del usuario con el que se va a acceder a $HOST.
• PROJECT: nombre del proyecto, usado para nombrar el archivo de copia de seguridad

resultante. Comúnmente se utiliza el mismo nombre del archivo de instancia
reemplazando los puntos por guíones.

• TARGET: ruta donde se ubicarán los archivos resultantes de la copia de seguridad. El

estándar es ubicarlos en el directorio files del usuario de copias de seguridad.

• TZ: zona horaria en la que se encuentra. Esto se utiliza para corregir la fecha y la hora,

especialmente útil en servidores de hosting compartido.

Instancias de copia de base de datos.

#!/bin/sh

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

# Server where the database is located
HOST=www.server.com

# Database connection information
USERNAME=db_user
PASSWORD=db_pass
DB_NAME=db_name

# The project ID (x-db-y)
PROJECT=project-db-module

# Where the backup files will be locally stored
TARGET=~/files

# MySQL binary tools path
MYSQL_PATH=/usr/bin

# SSH preferred version (1 is unsecure!)
SSH_VERSION=2

# Current date/time values
export TZ=America/Bogota
DATE=`date +%Y%m%d`
TIME=`date +%H%M%S`

export HOST TARGET USERNAME PASSWORD PROJECT DB_NAME MYSQL_PATH
DATE TIME SSH_VERSION

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

# Call the tool to backup the database!
tools/_backup_database.sh

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

• HOST: dirección o nombre del servidor donde se encuentran la base de datos y que será

accedida remotamente.

• USERNAME, PASSWORD, DB_NAME: información de conexión a la base de datos:

nombre de usuario, contraseña y nombre de la base de datos respectivamente.

• PROJECT: nombre del proyecto, usado para nombrar el archivo de copia de seguridad

resultante. Comúnmente se utiliza el mismo nombre del archivo de instancia
reemplazando los puntos por guíones.

• TARGET: ruta donde se ubicarán los archivos resultantes de la copia de seguridad. El

estándar es ubicarlos en el directorio files del usuario de copias de seguridad.

• MYSQL_PATH: ruta donde se ubican los archivos ejecutables de MySQL en sus

sistema.


• TZ: zona horaria en la que se encuentra. Esto se utiliza para corregir la fecha y la hora,

especialmente útil en servidores de hosting compartido.

Ejecución.

Los scripts han sido diseñados para ser ejecutados desde el directorio bin/ de la instalación, por este
motivo el documento supone que el shell se encuentra ubicado allí. Si se utilizaron las ubicaciones
sugeridas esto se lleva a cabo con el siguiente comando: cd ~/bin

Ejecución de una única instancia.

./run_backup instances/<NOMBRE DE LA INSTANCIA>

Ejecución de todas las instancias.

./run_all_backups

Ejecución periódica.

Para configurar la ejecución periódica de las copias de seguridad se debe crear un proceso Cron
con el usuario de copias de seguridad, para hacer esto ejecute el siguiente comando en el shell.

crontab -e

MAILTO="[email protected]"
30 04 * * * 'cd bin; ./run_all_backups'

El proceso Cron del ejemplo anterior ejecutará las copias de seguridad todos los días a las 4:30
de la mañana.

Modifique la cuenta de correo a la cual desee recibir la confirmación de la ejecución del
proceso.

Para mas información acerca de como crear los procesos cron revisar los siguientes enlaces.









http://www.linuxtotal.com.mx/index.php?cont=info_admon_006


http://es.tech-faq.com/create-cron-job.shtml


http://dns.bdat.net/documentos/cron/book1.html


http://www.unixgeeks.org/security/newbie/unix/cron-1.html


http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/custom-guide/cron-


task.html
http://www.adminschoice.com/docs/crontab.htm
  • Links de descarga
http://lwp-l.com/pdf12124

Comentarios de: Manual de Usuario, Scripts de copia de seguridad (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad