pg_dump -c NOMBRE_DE_LA_BD > ARCHIVO.sql
domingo, 3 de julio de 2011
Cómo copiar los datos y el esquema de una base de datos en postgresql?
Para hacer un backup en postgresql de una base de datos, sólo tendremos que invocar la siguiente orden:
jueves, 2 de junio de 2011
Instalar eclipse C/C++ en ubuntu
Vamos a ver que fácil es instalar el IDE, eclipse y sus correspondientes plugins para desarrollar aplicaciones en C y C++.
Primero instalaremos eclipse.
Después necesitaremos instalar el plugin correspondiente, que en éste caso es el módulo CDT.
Con estas líneas tendremos eclipse preparado para desarrollar nuestras aplicaciones en C y C++.
Primero instalaremos eclipse.
$sudo apt-get install eclipse
Después necesitaremos instalar el plugin correspondiente, que en éste caso es el módulo CDT.
$sudo apt-get install eclipse-cdt
Con estas líneas tendremos eclipse preparado para desarrollar nuestras aplicaciones en C y C++.
viernes, 27 de mayo de 2011
Hola mundo en C con Ubuntu
Veremos cómo hacer nuestro primer programa en C, configurando su Makefile y utilizando Ubuntu.
Con un fichero Makeefile tendremos una sencilla forma de organizar la compilación de nuestros ficheros. Lo haremos con un ejemplo sencillo.
Lo primero que haré será crear un directorio que lo llamaremos Hola_Mundo dentro del directorio home, luego crearemos los siguientes tres ficheros en el directorio Hola_Mundo.
hellomake.c, hellofunc.c y hellomake.h
holamake.c
holafunc.c
holamake.h
Para compilar este código, sólo tendremos que ejecutar la siguiente orden:
Si nos fijamos, con este sistema de compilación, nos podemos encontrar problemas cuando el proyecto crezca, esta herramienta se nos quedará pequeña.
Un primer paso para crear nuestro Makefile y hacer que sea más sencilla la compilación de nuestro proyecto.
sólo nos quedará ejecutar
Por consola Nos mostrará
Hola Mundo!!
Con un fichero Makeefile tendremos una sencilla forma de organizar la compilación de nuestros ficheros. Lo haremos con un ejemplo sencillo.
Lo primero que haré será crear un directorio que lo llamaremos Hola_Mundo dentro del directorio home, luego crearemos los siguientes tres ficheros en el directorio Hola_Mundo.
hellomake.c, hellofunc.c y hellomake.h
$ mkdir Hola_Mundo $ cd Hola_Mundo/ $ touch holamake.c $ touch holafunc.c $ touch holamake.hAbriremos cada uno de los ficheros y escribiremos el siguiente código.
holamake.c
#includeint main() { // Llama a una función en otro fichero PrintHola(); return(0); }
holafunc.c
#includevoid PrintHola(void) { printf("Hola Mundo!!\n"); return; }
holamake.h
/* incluimos un fichero */ void myPrintHello(void);
Para compilar este código, sólo tendremos que ejecutar la siguiente orden:
gcc -o holamake holamake.c holafunc.c -I.Con este coman compilaremos los ficheros .c y crearemos un ejecutable que se llamará holamake. Con la opción -I decimos el directorio donde debe buscar gcc y con . decimos que en el directorio actual.
Si nos fijamos, con este sistema de compilación, nos podemos encontrar problemas cuando el proyecto crezca, esta herramienta se nos quedará pequeña.
Un primer paso para crear nuestro Makefile y hacer que sea más sencilla la compilación de nuestro proyecto.
CC=gcc CFLAGS=-I. holamake: holamake.o holafunc.o $(CC) -o holamake holamake.o holafunc.o $(CFLAGS)Ahora cuando invoquemos la orden
make holamakenos creará el ejecutable holamake según las reglas definidas en el fichero Makefile
sólo nos quedará ejecutar
./holamake
Por consola Nos mostrará
Hola Mundo!!
jueves, 5 de mayo de 2011
Script Bash para modificar algunas opciones de .bashrc
Presentamos un script en bash para modificar algunas propiedades del fichero .bashrc
#!/bin/bash
function menu(){
echo "1. Cambia HISTCONTROL"
echo "2. Cambia HISTSIZE"
echo "3. Cambia UMASK"
echo "4. Cambia alias"
echo "5. Salir"
}
function cambia_historycontrol(){
echo "Introduce el nuevo valor de HISTCONTROL"
read hist
rep=`cat $1'/.bashrc' | grep HISTCONTROL | wc -l`
if [ rep -eq 0 ]
then
echo 'HISTCONTROL='$hist >> $1'/.bashrc' #añadimos al final
else
sed 's/HISTCONTROL=.*/HISTCONTROL='$hist'/' $1'/.bashrc' > $1'/.bashrc' #modificamos su valor
fi
}
function cambia_historysize(){
echo "Introduce el nuevo valor de HISTSIZE"
read hist
rep=`cat $1'/.bashrc' | grep HISTSIZE | wc -l`
if [ rep -eq 0 ]
then
echo 'HISTSIZE='$hist >> $1'/.bashrc' #añadimos al final
else
sed 's/HISTSIZE=.*/HISTSIZE='$hist'/' $1'/.bashrc' > $1'/.bashrc' #modificamos su valor
fi
}
function cambia_umask(){
echo "Introduce el nuevo valor de UMASK"
read mask
rep=`cat $1'/.bashrc' | grep $mask | wc -l`
if [ $rep -eq 0 ]
then
echo 'umask='$mask >> $1'/.bashrc' #añadimos al final
else
sed 's/umask=.*/umask='$mask'/' $1'/.bashrc' > $1'/.bashrc' #modificamos su valor
fi
}
function cambia_alias(){
echo "Introduce un alias"
read alia
num=`cat $1'/.bashrc' | grep '^'$alia | wc -l`
if [ $num -le 9]
then
rep=`cat cpbash | grep '^'$alia | wc -l`
if [ rep -eq 0 ]
then
echo 'alias='$alia >> $1'/.bashrc' #añadimos al final
else
sed 's/alias=.*/umask='$mask'/' $1'/.bashrc' > $1'/.bashrc' #modificamos su valor
fi
else
echo "ya tenemos mas de 10 alias"
fi
}
#Introduce el path donde deseas modificar el fichero .bashrc
var='ko'
while [ $var = 'ko' ]
do
echo "Introduce el path"
read path
if [ -d $path ]
then
echo "Correcto"
while true
do
menu
echo "elegir opcion"
read opcion
case $opcion in
"1")cambia_historycontrol $path;;
"2")cambia_historysize $path;;
"3")cambia_umask $path;;
"4")cambia_alias $path;;
"5")exit;;
*)echo "Opcion de 1 a 5";;
esac
done
var='ok'
else
echo "La ruta indicada no existe"
var='ko'
fi
done
Monitorizar el uso del disco por particiones, el comando df
Con el comando df podemos monitorizar el uso por particiones. O lo que es lo mismo, consultar la información sobre la utilización del espacio en disco para las distintas particiones del sistema.
-h --human-readable
Imprimir los tamaños de forma más legible para humanos.
-a, --all Incluye los pseudo sistemas de archivos
-i
Informar sobre la utilización de los i-nodos
$ df [OPCIÓN]... [SISTEMA ARCHIVOS]...Si utilizamos el comando df sin opciones
$ df S.archivos Bloques de 1K Usado Dispon Uso% Montado en /dev/sda1 144252592 6399452 130525448 5% / none 1525900 288 1525612 1% /dev none 1531504 200 1531304 1% /dev/shm none 1531504 244 1531260 1% /var/run none 1531504 0 1531504 0% /var/lock /dev/sda6 159564484 148233924 3225140 98% /homeAlgunas opciones interesantes para usar con el comando df.
-h --human-readable
Imprimir los tamaños de forma más legible para humanos.
df -h S.archivos Tam. Usado Disp. % Uso Montado en /dev/sda1 138G 6,2G 125G 5% / none 1,5G 288K 1,5G 1% /dev none 1,5G 200K 1,5G 1% /dev/shm none 1,5G 244K 1,5G 1% /var/run none 1,5G 0 1,5G 0% /var/lock /dev/sda6 153G 142G 3,1G 98% /home
-a, --all Incluye los pseudo sistemas de archivos
df -ha S.archivos Tam. Usado Disp. % Uso Montado en /dev/sda1 138G 6,2G 125G 5% / proc 0 0 0 - /proc none 0 0 0 - /sys fusectl 0 0 0 - /sys/fs/fuse/connections none 0 0 0 - /sys/kernel/debug none 0 0 0 - /sys/kernel/security none 1,5G 288K 1,5G 1% /dev none 0 0 0 - /dev/pts none 1,5G 200K 1,5G 1% /dev/shm none 1,5G 244K 1,5G 1% /var/run none 1,5G 0 1,5G 0% /var/lock /dev/sda6 153G 142G 3,1G 98% /home binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
-i
Informar sobre la utilización de los i-nodos
df -hi S.archivos Inodes IUsed IFree IUse% Montado en /dev/sda1 8,8M 288K 8,5M 4% / none 208K 813 207K 1% /dev none 210K 6 210K 1% /dev/shm none 210K 69 210K 1% /var/run none 210K 2 210K 1% /var/lock /dev/sda6 9,7M 232K 9,5M 3% /home
martes, 3 de mayo de 2011
Cómo copiar directorios de forma recursiva con el comando SCP
Si queremos copiar carpetas entre distintos servidores el comando scp nos será de gran utilidad.
Tan solo debemos tipear lo siguiente:
Si queremos copiar todos los ficheros que se contengan en la carpeta www, deberemos añadir la opción -r. Así todo se copiará de manera recursiva.
Tan solo debemos tipear lo siguiente:
$ scp user@servidor.com:/home/user/www /home/user/wwwCon esto, estamos copiando la carpeta www del servidor remoto, a nuestro pc o otro servidor.
Si queremos copiar todos los ficheros que se contengan en la carpeta www, deberemos añadir la opción -r. Así todo se copiará de manera recursiva.
$ scp -r user@servidor.com:/home/user/www /home/user/wwwUn detalle que quizá os encontréis es que el servidor escucha en un puerto diferente del 22. En ese caso podemos indicarle el puerto con que se comunica con la opción -P, quedando de la siguiente manera.
$ scp -P 2022 -r user@servidor.com:/home/user/www /home/user/www
domingo, 1 de mayo de 2011
Instalación y configuración de Postgres en Debian
Instalación
La instalación es muy sencilla:
La instalación nos ha creado un usuario y grupo 'postgres'. El usuario postgres se crea sin contraseña. Por lo que deberemos logearnos como root
Con esto tendremos instalado postgres y creado un nuevo usuario.
La instalación es muy sencilla:
$ apt-get install postgresqlConfiguración
La instalación nos ha creado un usuario y grupo 'postgres'. El usuario postgres se crea sin contraseña. Por lo que deberemos logearnos como root
$ suy nos logamos como postgres
$ su postgresqltipeamos:
$ psqly crearemos un nuevo usuario:
postgres=# CREATE USER usuario WITH PASSWORD 'password';
Con esto tendremos instalado postgres y creado un nuevo usuario.
Suscribirse a:
Entradas (Atom)