Mostrando las entradas con la etiqueta tar. Mostrar todas las entradas
Mostrando las entradas con la etiqueta tar. Mostrar todas las entradas

jueves, 17 de enero de 2019

Crear script para respaldo de base de datos PostgreSQL

Similar al post script para respaldo de bases de datos de MySQL podemos generar un bash en nuestro servidor para que genere un respaldo de nuestra base de datos deseada y posteriormente con el cron crear nuestra tarea automatizada.

Creamos un archivo con extensión .sh en la carpeta que deseemos, el script es el siguiente (le llamaremos /home/miusuario/scripts/backup.sh):

#!/bin/bash
# variables
directorio="/home/respaldos/postgresql";
database="dbbasedatos";
fecha="`date +%Y%m%d%H%M%S`";
usuario="miusuario"
host="11.1.1.1"
export PGPASSWORD=miclave

# generar el dump y crear el log
pg_dump -U $usuario -h $host -F t -d $database|gzip -9 > $directorio/$fecha.tar.gz && echo 'Respaldo realizado con exito.' >> $directorio/bitacora.log;

Aquí una breve explicación:
#Nuestras variables
directorio: el directorio donde generaremos nuestros respaldos.
database: la base de datos a respaldar.
fecha: la fecha y hora actual que la concatenaremos con nuestro nombre de archivo.
usuario: el usuario de postgresql para generar el respaldo (debe tener permisos sobre nuestra base).
host: servidor de base de datos, aquí muy importante si nuestro usuario no tiene acceso al host de localhost nos mostrara un error, deben verificar con que host fue creado.

#Nuestros comandos
export PGPASSWORD: la contraseña de nuestro usuario, en caso de no tener contraseña omitir esta linea.

Ahora viene nuestro comando que realiza toda la operación, para mas detalle puede consultar pg_dump --help a través de la consola.
-U el nombre de usuario
-h el servidor de base de datos
-F t el formato de salida, para nuestro caso es tar
-d la base de datos a respaldar
gzip -9 comprime nuestra salida con el parámetro de la mejor compresión
$directorio/$fecha.tar.gz con nuestros parametros de las variables es donde se generara nuestro respaldo (p.e. /home/respaldos/postgresql/1701191257.tar.gz).

Nota: si nuestro usuario no tiene contraseña, podemos agregar el parámetro de -w (o bien --no-password) a la linea de nuestro comando pg_dump.

Para probarlo podemos ejecutar nuestro bash y ver nuestro resultado.

$ sh backup.sh
Hasta este punto no debería existir algún problema, solo faltaría crear nuestro cron para automatizar nuestra tarea:

$ crontab -e 

nuestras lineas:

10 1 * * * /home/respaldos/scripts/backup.sh 1> /dev/null 2> /home/respaldos/errores.log

 y listo hemos terminado.

viernes, 25 de abril de 2014

Actualizar manualmente phpMyAdmin en Linux

Explicaremos como actualizar de forma manual el phpMyAdmin a la versión más reciente, para ello primero bajaremos el paquete comprimido mas actual de la siguiente dirección http://www.phpmyadmin.net/home_page/downloads.php, antes de ello tendremos que verificar los requerimientos mínimos del paquete. En mi caso bajare la versión 4.1.13 donde se indica que se requiere como mínimo PHP 5.2 y MySQL 5, aunque se recomienda PHP 5.3 y MySQL 5.5. Les recomiendo que el archivo que bajemos se descomprima por consola en nuestro servidor.

1. Subir el archivo a nuestro servidor
Puede ser en nuestra carpeta home o directamente en la ubicación del phpMyAdmin: /usr/share

2. Renombrar el phpMyAdmin anterior

$ sudo mv /usr/share/phmyadmin /usr/share/phpmyadmin-backup

Esto con la finalidad de tener un respaldo por si algo llega a salir mal.

3. Descomprimir el archivo
La ruta donde lo tenemos que descomprimir es en /usr/share

$ sudo tar -xvf phpMyAdmin-4.1.13-all-languages.tar.gz

Renombramos la carpeta que se genero al descomprimir como: phpMyAdmin

$ sudo mv phpMyAdmin-4.1.13-all-languages phpMyAdmin

4. Probamos el acceso a phpMyAdmin

En el navegador probamos que podamos acceder: http://localhost/phpMyAdmin, y listo ya tenemos phpMyAdmin actualizado.

Una vez que no existan problemas al acceder, podemos eliminar el archivo comprimido (.tar.gz) y el phpMyAdmin con la versión anterior (phpMyAdmin-backup). Recordemos que en caso que se requiera editar la configuración podemos acceder a /etc/phpmyadmin/config.inc.php el cual es nuestro archivo de configuración del phpMyAdmin.

martes, 25 de febrero de 2014

Comprimir directorios(carpetas) en Linux desde consola

El comprimir directorios completos es muy útil para realizar backups o copias de seguridad, o restaurar información, ya que nos permite descargar o subir un solo archivo de forma más segura y comoda. Es muy facil realizar la compresión con el comando tar:

tar -czvf nombre_archivo.tar.gz directorio_a_comprimir

Donde:

  • c, crear un nuevo archivo
  • z, comprimir archivos usando gzip
  • v, mostrar el proceso durante la creación del archivo
  • f, nombre del archivo


Ahora, bien detallaremos como descomprimir dicho archivo por consola con el comando tar:

tar -xvf nombre_archivo.tar.gz

Donde:
  • x, extrae el contenido del archivo comprimido en el directorio actual
  • v, mostrar el proceso durante la creación del archivo
  • f, nombre del archivo

Entradas Populares