Una vez copiado todo el sistema quedan los {ultimos toques
Copia de los marcadores de nautilus
- El archivo a copiar es .gtk-bookmarks del directorio Home del usuario.
- una vez copiado el archivo podemos usarlo sin problema desde el nuevo sistema gnome accediendo a nautilus->marcadores.
sacado de http://ubuntuforums.org/showthread.php?t=1191021
Biblioinformático, una nueva especie
jueves, 3 de mayo de 2012
sábado, 28 de abril de 2012
Script para hacer backup de un motor postgresql
Buscando la forma de copiar todas las bases de datos postgresql para pasarlas a la nueva instalación de Ubuntu me encontré con este script que con ligeras modificaciones quedó en algo así.
#!/bin/bash
#=============================================================================================
# Script Backup Databases PostgreSQL - Tomeu Roig // modificado por Horacio Degiorgi
# =============================================================================================
# Procedimiento de Copia de Seguridad de Servidor de Postgres
## BEGIN CONFIG ##
BACKUP_DIR="/datos/backups/"
USER=postgres
# la siguiente linea permite evitar poner la clave
export PGPASSWORD= clave
# la siguiente linea permite hacer backup de un host remoto o de localhost
export PGHOST=localhost
FECHA=$(date +%d-%m-%Y)
## END CONFIG ##
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
#Leemos todas la bases de datos existente en Postgres, para despues realizar la copia una a una
POSTGRE_DBS=$(psql -U $USER -l | awk '(NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /template[0-9]/) { print $1 }');
#Realizamos la copia de seguridad de cada una de ellas y las guardamos en un directorio de backups
for DB in $POSTGRE_DBS ; do
echo "* Backuping PostgreSQL data from $DB@$HOST ..."
pg_dump -U $USER -Z 5 -f $BACKUP_DIR$DB-$FECHA.gz $DB
######### fin script #############
Los backups que realiza el script quedan en el directorio designado por BACKUP_DIR y cada uno con su fecha y nombre de base de datos.
#!/bin/bash
#=============================================================================================
# Script Backup Databases PostgreSQL - Tomeu Roig // modificado por Horacio Degiorgi
# =============================================================================================
# Procedimiento de Copia de Seguridad de Servidor de Postgres
## BEGIN CONFIG ##
BACKUP_DIR="/datos/backups/"
USER=postgres
# la siguiente linea permite evitar poner la clave
export PGPASSWORD= clave
# la siguiente linea permite hacer backup de un host remoto o de localhost
export PGHOST=localhost
FECHA=$(date +%d-%m-%Y)
## END CONFIG ##
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
#Leemos todas la bases de datos existente en Postgres, para despues realizar la copia una a una
POSTGRE_DBS=$(psql -U $USER -l | awk '(NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /template[0-9]/) { print $1 }');
#Realizamos la copia de seguridad de cada una de ellas y las guardamos en un directorio de backups
for DB in $POSTGRE_DBS ; do
echo "* Backuping PostgreSQL data from $DB@$HOST ..."
pg_dump -U $USER -Z 5 -f $BACKUP_DIR$DB-$FECHA.gz $DB
######### fin script #############
Los backups que realiza el script quedan en el directorio designado por BACKUP_DIR y cada uno con su fecha y nombre de base de datos.
Ubuntu 12.04 entorno de desarrollo web
Una vez seleccionado el entorno de ventanas y configurado lo básico del sistema empiezo a configurar todo lo necesario para desarrollo web con PHP/MySQL y Postgresql
Primero instalar tasksel (instalador de paquetes virtuales que simplifica mucho la instalación de las distintas partes del sistema) usando el comando sudo apt-get install tasksel
Una vez que está instalado permite seleccionar de múltiples paquetes
Lo bueno es que no es necesario instalar paquetes sueltos ni resolver dependencias.
Otra cosa que utilizo mucho para configurar los servidores virtuales es webmin
Para esto existe desde hace tiempo un repositorio desde donde puede instalarse.
Las instrucciones son simples y pueden seguirse desde este lugar
http://www.unixmen.com/201204-install-webmin-in-ubuntu-12-04/
Primero instalar tasksel (instalador de paquetes virtuales que simplifica mucho la instalación de las distintas partes del sistema) usando el comando sudo apt-get install tasksel
Una vez que está instalado permite seleccionar de múltiples paquetes
Lo bueno es que no es necesario instalar paquetes sueltos ni resolver dependencias.
Otra cosa que utilizo mucho para configurar los servidores virtuales es webmin
Para esto existe desde hace tiempo un repositorio desde donde puede instalarse.
Las instrucciones son simples y pueden seguirse desde este lugar
http://www.unixmen.com/201204-install-webmin-in-ubuntu-12-04/
viernes, 27 de abril de 2012
Copiar el perfil de chrome en linux
Con la migración de sistema que estoy llevando a cabo necesito traer toda la información de mi navegador del otro portatil. La idea es traer: favoritos, extensiones, datos guardados en formularios y todo lo demás.
Para esto se puede copiar el perfil completo de una pc a otra. En mi caso usé rsync con los siguientes comandos
Identicamos la ruta del perfil. En mi caso está en
~/.config/chromium
Primero muevo el perfil actual a otro directorio como backup.
mv ~/.config/chromium ~/.config/chromium_old
Luego creo el directorio
~/.config/chromium
Luego traigo el perfil de la pc vieja a la nueva usando rsync
rsync -av horaciod@192.168.0.3:/home/horaciod/.config/chromium/ chromium/
Luego hay que borrar un archivo en caso de tener abierto el chrome cuando relizamos la copia.
Para esto se puede copiar el perfil completo de una pc a otra. En mi caso usé rsync con los siguientes comandos
Identicamos la ruta del perfil. En mi caso está en
~/.config/chromium
Primero muevo el perfil actual a otro directorio como backup.
mv ~/.config/chromium ~/.config/chromium_old
Luego creo el directorio
~/.config/chromium
Luego traigo el perfil de la pc vieja a la nueva usando rsync
rsync -av horaciod@192.168.0.3:/home/horaciod/.config/chromium/ chromium/
Luego hay que borrar un archivo en caso de tener abierto el chrome cuando relizamos la copia.
rm /home/horaciod/.config/chromium/SingletonLock
Con esto ya está listo y se puede arrancar el chrome en la pc nueva con toda la información necesaria.
Migrando a Ubuntu 12.04 Precise Pangolin
Después de mucho esperar (estaba usando una versión de ubuntu 11.04) hoy estoy migrando a 12.04.
Algunas cosas buenas otras no tanto.
Estoy instalando en otro hardware para poder tomarme todo el tiempo para realizar las copias e instalar todo el soft.
Ventanas
Son varias las cosas de esta nueva versión de gnome3 que no me gustan así que habrá que hacer retoques
Identity=unix-user:*
Algunas cosas buenas otras no tanto.
Estoy instalando en otro hardware para poder tomarme todo el tiempo para realizar las copias e instalar todo el soft.
Ventanas
Son varias las cosas de esta nueva versión de gnome3 que no me gustan así que habrá que hacer retoques
- el nuevo sistema de scroll de las ventanas de gnome es feo, o por lo menos no me acostumbré lo suficientemente rápido. Cómo volver a la barra de scroll de siempre ?
- en una consola escribir
gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars false - Unity está bien pero es necesario modificar algunas cosas, para configurarlo se puede utilizar MyUnity que se instala desde el "centro de software de Ubuntu"
- hay alternativas al gnome 3 pero todavía no pruebo ninguna
- Hibernación: viene desactivada por defecto pero se puede activar corriendo el siguiente comando.
- primero creamos un archivo
- sudo gedit /var/lib/polkit-1/localauthority/50-local.d/hibernate.pkla
- luego lo completamos con
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
en mi caso funcionó el hibernado pero es algo que pasa con mi portatil desde hace tiempo (un hp530) .
La solución en ubuntu maverick y ahora fue instalar el parche tuxonice mediante el PPA correspondiente.
sudo add-apt-repository ppa:tuxonice
sudo add-apt-repository ppa:tuxonice
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice hibernate
Luego de esto funcionó perfecto.
Sigo investigando la instalación de esta nueva versión LTS
Limpiar tabla con campos OID en postgresql
Limpieza de postgresql despues de usar campos OID
Primero pasar los campos de oid a bytea (hay varias páginas que hablan de las ventajas y desventajas de cada uno pero lo importante es que bytea es más sql y al momento de borrar realmente se borra, puede exportarse el esquema in una tabla en particular que tenga campos bytea etc)
CREATE OR REPLACE FUNCTION merge_oid(val oid)
returns bytea as $$
declare merged bytea;
declare arr bytea;
BEGIN
FOR arr IN SELECT data from pg_largeobject WHERE loid = val ORDER BY pageno LOOP
IF merged IS NULL THEN
merged := arr;
ELSE
merged := merged || arr;
END IF;
END LOOP;
RETURN merged;
END
$$ LANGUAGE plpgsql;
update <tabla> set <campo bytea>=merge_oid(<campo oid>) where true ;
-- limpiar lo_objects
-- https://bugs.launchpad.net/ubuntu/+source/postgresql-8.4/+bug/887138
vacuumlo -v -U postgres -W -h localhost <basededatos>
Este comando está en ubuntu en el paquete contrib así que es necesario instalar postgresql-8.4-contrib o similares.
Otra alternativa usando una funcion :
http://www.microolap.com/products/connectivity/postgresdac/help/TipsAndTricks/ByteaVsOid.htm
Primero pasar los campos de oid a bytea (hay varias páginas que hablan de las ventajas y desventajas de cada uno pero lo importante es que bytea es más sql y al momento de borrar realmente se borra, puede exportarse el esquema in una tabla en particular que tenga campos bytea etc)
CREATE OR REPLACE FUNCTION merge_oid(val oid)
returns bytea as $$
declare merged bytea;
declare arr bytea;
BEGIN
FOR arr IN SELECT data from pg_largeobject WHERE loid = val ORDER BY pageno LOOP
IF merged IS NULL THEN
merged := arr;
ELSE
merged := merged || arr;
END IF;
END LOOP;
RETURN merged;
END
$$ LANGUAGE plpgsql;
update <tabla> set <campo bytea>=merge_oid(<campo oid>) where true ;
-- limpiar lo_objects
-- https://bugs.launchpad.net/ubuntu/+source/postgresql-8.4/+bug/887138
vacuumlo -v -U postgres -W -h localhost <basededatos>
Este comando está en ubuntu en el paquete contrib así que es necesario instalar postgresql-8.4-contrib o similares.
Otra alternativa usando una funcion :
http://www.microolap.com/products/connectivity/postgresdac/help/TipsAndTricks/ByteaVsOid.htm
Suscribirse a:
Comentarios (Atom)
