Hay varias herramientas relacionadas con copias de respaldo:
bin/pgdump.sh
Saca volcado de la base
(i.e un volcado es un archivo con instrucciones SQL para
reconstruir la base completa), lo almacena
junto con los del último mes en el directorio de respaldo configurado
--por defecto es /var/www/resbase
que en adJ
está encriptado.
Aviso | |
---|---|
Los volcados generados con |
bin/respaldo.sh
Almacena volcado
junto con los de última semana y opcionalmente lo copia de forma segura (con
ssh
) a otro(s) computador(es).
Aviso | |
---|---|
Las copias de envíe manténgalas en directorios encriptados en los computadores donde lleguen. |
Especifique cada computador destino y usuario en la variable
$rremotos
separandolos con espacio, por ejemplo
un sólo destino sería
jaime@miservidor.cc.cc:copiasencriptadas/
. Para
que pueda hacer automático el copiado, genere un par de llaves RSA sin
clave con ssh-keygen
, configure la llave
privada en la variable $llave
y agregue la
llave pública en el archivo ~/.ssh/authorized_keys
de la cuenta a la que enviará las copias.
bin/copiacd.sh
Que quema un CD con
el contenedor encriptado (por defecto /var/resbase.img
)
del directorio de respaldos.
bin/restaura.sh
Que permite restaurar un volcado SQL de la base de datos. Por ejemplo si el volcado está ubicado en /mnt/usb/volcado.sql
para incluirlo en la base basta:
cd /var/www/users/sivel bin/restaura.sh /mnt/usb/volcado.sql
El volcado puede estar comprimido con gzip.
Aviso | |
---|---|
Los volcados generados con |
Es posible editar los volcados antes de restaurarlos, para eso deben descomprimirse antes, por ejemplo:
cp /var/www/resbase/sivel-dump-22.sql.gz /tmp/volcado.sql.gz gzip -d /tmp/volcado.sql.gz
Si requiere editar un volcado para eliminar las líneas que borran
las tablas (i.e las de la forma DROP TABLE
) puede
emplear:
grep -v "DROP TABLE" /tmp/volcado.sql > /tmp/volcadosindrops.sql
Para ver brevemente las diferencias entre 2 volcados puede emplear:
diff /tmp/volcado.sql /tmp/volcadosindrops.sql | less
bin/importacd.sh
Que intenta restaurar
la base de datos de un volcado posiblemente incluido en un CD quemado
con bin/copiacd.sh
. Antes de efectuar este procedimiento
saque un volcado de la base que tenga.
bin/mueve.sh
Permite respaldar y mover sistema de información a nueva nueva ubicación en un sistema OpenBSD adJ (copia de base de datos, copia de fuentes y nuevo URL). Las operaciones que realiza son:
Saca un volcado de la base que deja en /var/www/resbase
(o el directorio configurado para copias de respaldo en su archivo
aut/conf.php
) con un nombre de la forma
movido-sivel-dump-26.sql.gz
y saca una copia de las
fuentes en PHP que deja en
/var/www/resbase/fuentes10-sivel.tar.gz
Copia la base de PostgreSQL (por defecto sivel
) en una
nueva base de nombre sivel10
con el mismo usuario ante
PostgreSQL.
Copia las fuentes en PHP al directorio
/var/www/htdocs/sivel10
Crea un Alias para el servidor web que le permite ingresar a la base movida
en el URL /sivel10/
; por ejemplo desde el mismo servidor en
https://127.0.0.1/sivel10/ y después reiniciar Apache.
Prueba el nuevo URL con el navegador lynx.
Si usted acepta elimina las fuentes del directorio donde estaban haga esto sólo después de verificar que sus datos están completos en la nueva ubicación
Si desea emplear otro nombre de base de datos y Alias especifíquelo como
primer parámetro y si prefiere copiar a otro directorio especifíquelo
como segundo parámetro; por ejemplo para copiar a la base
sivelcopia
,
al directorio /var/www/users/sivelc
y usar el
Alias sivelcopia
desde el directorio con fuentes de
SIVeL ejecute:
bin/mueve.sh sivelcopia /var/www/users/sivelc
Se recomienda que configure ejecución diaria de bin/respaldo.sh
.
En adJ esto se hace con una tarea cron diaría a las 12:00M
Si no tiene una instalación de adJ estándar ajuste variables
relacionadas con volcados en aut/conf.php
,
en particular la variable rlocal
que debe tener el directorio en el que quedarán los volcados
generados con bin/pgdump.sh
.
Para sacar un volcado comprimido de la base, desde un interprete de comandos:
$ cd /var/www/users/sivel $ bin/pgdump.sh
Al ejecutarlo se generará un archivo de la forma
/var/www/resbase/sivel-dump-08.sql.gz
, en lugar de
/var/www/resbase/
el directorio que haya configurado y
en lugar de 08
el día del mes.
Suponemos que tiene una segunda instalación de SIVeL --preferiblemente en un computador diferente al de la base principal-- para consulta pública por el web de los datos públicos (i.e sin fuentes). Para actualizar esa segunda instalación debe:
En la instalación fuente
asegúrese de configurar computador destino en la variable
$maquinaweb
, por ejemplo miservidor.cc.cc
.
El usuario destino en $usuarioact
y el
directorio donde quedará un volcado en el destino (la información
que llegará a este directorio no incluye fuentes por lo que no
requiere estar encriptado), por ejemplo /var/www/resbase
.
En la instalación fuente como usuario administrador de SIVeL ejecute:
cd /var/www/users/sivel bin/actweb.sh
Este script generará un volcado, del cual eliminará las fuentes y
enviará el volcado resultante con scp
al destino
configurado con un nombre de la forma
web-sf-sinf-22.sql.gz
.
Ingrese al servidor destino y ejecute:
cd /var/www/users/sivel bin/pgdump.sh bin/pubweb.sh
La información complementada por un usuario en el formulario que se ve tras oprimir el botón 'Comente Caso', será encriptada y enviada a una cuenta de correo.
Hay 3 aspectos por configurar:
Ubicación del programa
openssl
.
Que típicamente será
ubicado por el
script bin/prep-chroot.sh
en el directorio
/var/www/usr/sbin/
y autodetectado o especificado en el
momento de la configuración con
conf.sh
Llave de encripción. Especificada en el
archivo aut/conf.sh
como PALABRA_SITIO
.
Aviso | |
---|---|
Cambie la llave de encripción que se distribuye con SIVeL. |
Cuenta de correo que recibirá la
información encriptada. Especificada
en el archivo aut/conf.sh
variable
receptor_correo
.
En la cuenta configurada se recibirán dos correos por cada retroalimentación, ambos con el mismo mensaje pero el primero lo incluye en el cuerpo del mensaje en hexadecimal, mientras que el segundo lo incluye en binario como adjunto.
El adjunto puede guardarse en un archivo, digamos
/tmp/encriptado
, y si la llave de
encripción fuera la cadena La llave
,
podría desencriptarse y guardarse en el archivo
/tmp/desenc
con:
openssl bf -nosalt -d -in /tmp/encri -out /tmp/desenc -k "La llave"
El mensaje en hexadecimal primero tendría que salvarse
en un archivo, digamos /tmp/hex
,
pasarse a binario, digamos al archivo
/tmp/encriptado
y después
desencriptarse como se explicó en el párrafo anterior.
Para convertir de hexadecimal a binario podría
emplear el script herram/hex2bin.php
distribuido
con las fuentes de SIVeL, que de estar ubicadas en
/var/www/users/sivel
, se emplearía
así:
cd /var/www/users/sivel php herram/hex2bin.php < /tmp/hex > /tmp/encriptado