jueves, 10 de marzo de 2011

Recurso compartido script

Como ya hemos visto en otra ocación un equipo con GNU/Linux instalado permite la interconectividad con el resto de los equipos que se encuentren dentro de su red, sea con otro Linux o un Windows.

En Linux existen diversas formas de conectarse a un recurso compartido de Windows o Linux, como puede ser a través del konqueror (para kde), el nautilius (para gnome) o cualquier otro administrador de archivos que soporte el protocolo SMB (Poniendo por ejemplo smb://192.168.1.2/recurso). Otra vía puede ser por el comando smbclient (Ej. smbclient //192.168.1.2/recurso -U nombreUsuario).

Estos comandos hacen de una forma u otra algo engorroso el trabajo con los archivos remotos, por lo que una vía factible para trabajar de una forma más fácil con estos archivos es montándolos en su computadora.

Entonces, ¿ Cómo montar el recurso compartido ?

Bueno, para esto se hace uso del comando smbmount, el cual te brinda esta posibilidad, quedando el mismo de la siguiente forma:

smbmount //ipPcRemota/recurso /path/donde/montaras/el/recurso -o username=nombreUsuario

(Ej. smbmount //192.168.1.2/recurso /mnt/red -o username=tester)

y ya con esto tienes el recurso compartido montado en tu computadora. Ahora una vez que termines de trabajar con el mismo debes desmontarlo, lo cual sería de la forma siguiente:

smbumount /path/donde/montaste/el/recurso

(Ej. smbumount /mnt/red)

BASH para montar recursos compartidos

Debido a lo tedioso que es en Linux aprenderse todos estos comandos con sus opciones, es mejor en ocasiones hacer un bash que te ayude y agilice el trabajo con estos.

Por lo que el del smbmount podría quedar así:

#BASH PARA MONTAR UN RECURSO COMPARTIDO EN LA PC

#

echo -n "Dirección del recurso compartido (Ej. //192.168.1.2/red):";read NET

echo -n "Ruta de la carpeta donde se montará el recurso (Ej. /mnt/red):"; read MNT

echo -n "Usuario:";read USER

if test $NET && test $MNT && test $USER

then smbmount $NET $MNT -o username=$USER

else echo "Por favor, compruebe que todos los datos son correctos"

fi

Una vez hecho lo guardarías, por ejemplo con el nombre net2mnt, le pondrías permiso de lectura y ejecución (Ej. chmod 755 net2mnt ó chmod a+rx net2mnt) y lo colocarías en /usr/bin (para Debian) para que sea accesible por todos los usuarios de tu computadora y puedan hacer uso del mismo.

Openfiler NAS

http://blog.mundodisco.net/archives/351

rsync backup

Archivo

#!/bin/sh

#########################################################
# Script to do incremental rsync backups
#########################################################

##################################
# Configure These Options
##################################

###################################
# mail address for status updates
# - This is used to email you a status report
###################################
MAILADDR=mnigro@mail.com

###################################
# HOSTNAME
# - This is also used for reporting
###################################
HOSTNAME=barracuda

###################################
# directory to backup
# - This is the path to the directory you want to archive
###################################

BACKUPDIR=/home/mnigro/Documentos/folder

###################################
# excludes file - contains one wildcard pattern per line of files to exclude
# - This is a rsync exclude file. See the rsync man page and/or the
# example_exclude_file
###################################
#EXCLUDES=example_exclude_file

###################################
# root directory to for backup stuff
###################################
ARCHIVEROOT=/home/mnigro/rsync

#########################################
# From here on out, you probably don't #
# want to change anything unless you #
# know what you're doing. #
#########################################

# directory which holds our current datastore
#CURRENT=main


# directory which we save incremental changes to
#INCREMENTDIR=`date +%Y-%m-%d`

# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$ARCHIVEROOT/$INCREMENTDIR -av"

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

# make sure our backup tree exists
install -d $ARCHIVEROOT/$CURRENT

# our actual rsyncing function
do_rsync()
{
rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$CURRENT
}

# our post rsync accounting function
do_accounting()
{
echo "Backup Accounting for Day $INCREMENTDIR on $HOSTNAME:">/tmp/rsync_script_tmpfile
echo >> /tmp/rsync_script_tmpfile
echo "################################################">>/tmp/rsync_script_tmpfile
du -s $ARCHIVEROOT/* >> /tmp/rsync_script_tmpfile
echo "Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile"
Mail $MAILADDR -s $HOSTNAME Backup Report < /tmp/rsync_script_tmpfile
echo "rm /tmp/rsync_script_tmpfile"
rm /tmp/rsync_script_tmpfile
}

# some error handling and/or run our backup and accounting
if [ -f $EXCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync && do_accounting
else
echo "cant find $BACKUPDIR"; exit
fi
else
echo "cant find $EXCLUDES"; exit
fi

viernes, 4 de marzo de 2011

Como respaldar y restaurar una base de datos de OpenLDAP

Como buen administrador siempre procuramos tener una copia de seguridad reciente de las bases de datos de las apliaciones que administramos para poder re establecer el sistema en caso de desastre.

En este articulo explicare como crear una copia de seguridad de una base de datos en un servidor OpenLDAP, generaremos respaldos en frio y en caliente, los respaldos serán generados en formato LDIF.

Suponiendo que en el archivo slapd.conf(5) tenemos una definición de base de datos así:

# Specific Backend Directives for hdb:
backend hdb
# Specific Directives for database #1, of type hdb:
database hdb
# The base of your directory in database #1
suffix "dc=example,dc=com"
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"

El programa slapcat(8) lee la información de la base de datos en orden secuencial y genera la salida correspondiente en formato LDIF incluyendo atributos de usuario y operacionales, el programa slapcat solo respaldara las entradas que se leyeron en el momento de la ejecución, si en el momento de que slapcat esta ejecutandose se realiza una operación de escritura sobre alguna entrada dicho cambio no será incluido en el respaldo.

En OpenLDAP las bases de datos de tipo hdb y bdb pueden ser respaldadas mientras el servicio slapd(8) esta en ejecución usando el programa slapcat, a este tipo de respaldo se le llama en caliente.

Si no esta seguro de que no habrá modificacioens en los datos de las bases de datos de OpenLDAP y no sabe si dichos cambios puedan afectar las aplicaciones o clientes LDAP se recomienda que detenga el servicio slapd antes de generar el respaldo con slapcat, a este tipo de respaldo se le llama en frio.

Para crear un respaldo en frio de una base de datos de OpenLDAP siga el siguiente procedimiento:

1.- Detener el servicio slapd:

# /etc/init.d/slapd stop

2.- Respaldar la base de datos usando el programa slapcat:

# slapcat -b dc=example,dc=com -l respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldif

El comando slapcat generará un respaldo de la base de datos dc=example,dc=com definida por el parametro -b en el archivo respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldif definido por el parametro -l.

Para crear un respaldo en caliente de una base de datos de OpenLDAP solo ejecute el comando slapcat como en el paso dos del ejemplo anterior.

Se recomienda que el archivo del respaldo sea movido a un lugar fuera del servidor.

Para restaurar la base de datos a partir del archivo LDIF generado por slapcat siga el siguiente procedimiento:

1- Apagar el servicio slapd:

# /etc/init.d/slapd stop

2.- Limpiar el directorio de base de datos de slapd:

# (cd /var/lib/ldap/; rm -fv alock __db.* *.bdb log.*)

3.- Restaurar directorio a partir del archivo LDIF:

# slapadd -v -b dc=example,dc=com -l respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldif

- Opcionalmente Re indexe todos los atributos :

# slapindex -v

- Re establecer permisos al directorio de datos:

# chown -R openldap:openldap /var/lib/ldap

- Iniciar el servicio slapd:

# /etc/init.d/slapd start


http://tuxjm.net/2010/01/11/como-respaldar-y-restaurar-una-base-de-datos-de-openldap/

martes, 1 de marzo de 2011

Guía de 5 minutos, tutorial para compartir carpetas en red usando NFS en linux (how to)

http://guerrerocarlos.blogspot.com/2007/01/gua-de-5-minutos-para-aprender.html

Por lo general para compartir carpetas en red, la opción mas “facil” es usar SaMBa, que permite a maquinas Linux actuar como un servidor de archivos para clientes Windows mediante el protocolo SMB.

Con Samba basta con instalar los paquetes “samba”, “swat” y “smbfs”, configurar mediante sudo http://nombre_de_ordenador_samba:901/ y darle compartir a cada carpeta.

NFS en cambio, es el protocolo estándar para compartir carpetas de red en entornos UNIX / Linux, así que si tu red local es totalmente “libre” es lo mas recomendable y en realidad no tiene nada de difícil, lo primero es instalar los paquetes:

sudo aptitude -P install nfs-kernel-server nfs-common portmap

Es importante que el portmap NO este configurado en “loopback”, lo recomendable es correr “sudo dpkg-reconfigure portmap” y darle “no“, o modificar /etc/default/portmap (no olvidar tener permisos de administrador para hacer esto). Por lo general ya viene bien configurado, pero es solo para verificar y ahorrar problemas.

Si lo haces por “dpkg-reconfigure” automáticamente se reinicia el
portmap, de lo contrario toca darle “sudo /etc/init.d/portmap restart”

Para especificar qué carpetas se van a compartir se hace en “/etc/exports”
mediante tu editor de textos favorito, como a mi me gusta “nano”, lo hago:

sudo nano /etc/exports

En él, cada carpeta se especifica de la siguiente manera:

Por ejemplo para compartir la carpeta “tmp” con permisos de lectura y escritura y que sea difundida a todo el rango de direcciones IP de la red local que van de 192.168.0.1 a 192.168.0.255 la linea seria:

/home/nombre_usuario/tmp 192.168.1.1/24(rw,no_root_squash,async)

“rw” significa como de costumbre “lectura y escritura”, “no_root_squash” permite que el usuario root del cliente tenga accesos root en el servidor tambien, y “async” se refiere a como se hace la sincronización de datos, en resumen “async” es mas eficiente pero pueden haber perdidas de datos si el servidor se cae, mientras que “sync” es mas estable pero mas lento.

Si lo que se quiere es una carpeta de solo lectura, por ejemplo una carpeta en un disco duro NTFS, se puede usar algo como lo siguiente:

/media/hdc5/music 192.168.1.1/24(ro,async)

Por ultimo hay que reiniciar el servidor NFS:

sudo /etc/init.d/nfs-kernel-server restart

Siempre después de hacer cambios en /etc/export puedes hacerlos efectivos con:

sudo exportfs -a

En el Cliente:

Creamos una carpeta como cualquier otra:

sudo mkdir ~/music

y luego montamos la “carpeta remota”:

sudo mount 192.168.1.2:/media/hdc5/music ~/music

Y LISTO!!!!
otra manera :

k es la instalación k me ha resultado, con los cambios para mi………
NOTA: Yo uso el editor vim, para usarlo leer al final.-

6-0- Instalación de NFS (Compartir Directorios a Otros Linux)
6-1- en la consola apt-get install nfs-common
6-2- en al consola apt-get install nfs-kernel-server
6-3- añadimos al final del archivo vim /etc/hosts.deny
#########################################################
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
#########################################################
6-4- añadimos al final del archivo vim /etc/hosts.allow
#########################################################
##192.168.1 permite a toda la red interna, si keremos uno solo host tenga acceso
#debemos escribir la direccion completa pej: 192.168.1.3
portmap: 192.168.1.
lockd: 192.168.1.
rquotad: 192.168.1.
mountd: 192.168.1.
statd: 192.168.1.
#########################################################
6-5- editamos vim /etc/default/portmap
#########################################################
#ARGS=”-i 127.0.0.1″
#########################################################
6-6- editamos vim /etc/exports
#########################################################
/home/usuario/carpetaCompartida *(rw,async)
#########################################################
6-7-0- Reinicanos Servicios
6-7-1- sudo /etc/init.d/nfs-common restart
6-7-2- sudo /etc/init.d/nfs-kernel-server restart
6-7-3- sudo /etc/init.d/portmap restart
6-8- para Conectar desde la otra pc:
mount ipdelserver:/home/usuario/carpetaCompartida /home/username/carpetaDestin
6-9- para montsr permanente editamos el archivo sudo vim /etc/fstab
##########################################################
ipdelserver:/home/usuario/carpetaCompartida /home/username/carpetaDestino nfs defaults,auto
##########################################################

Uso del Vim

para entrar teclea $ vim archivo

Para moverse usar flechas

para editar apretar tecla “i”
- notar abajo dice — INSERTAR –

luego de terminada la edicion presionar la tecla ESC
- notar abajo NO dice — INSERTAR –
aqui dar parametros:
-primero poner dos punto ( : )
-letra “w” indica escribir
-letra “q” indica salir
por lo tanto al terminar escribir:

:wq para salir guardando edición
:q para salir sin guardar edición

Cómo Instalar un Servidor NFS en Ubuntu 10.04

Cómo Instalar un Servidor NFS en Ubuntu 10.04 (Lucid Lynx)(lucid-lynx-nfs)

Distibución
Ubuntu
Versión
10.04 Lucid Lynx
Condición
nfs-kernel-server, nfs-common y portmap

NFS (Sistema de Archivos de Red) es un Servicio que nos permite compartir archivos sobre la red, con una implementación bastante fácil.

Instalando los paquetes necesarios

Si no tiene instalado el Servidor de Ubuntu, Aquí una guía completa

Paso 1: A través de la Terminal del Linux, instalaremos los paquetes necesarios.
La instalación la haremos para una PC con Distribución de Ubuntu 10.04 (Lucid Lynx)
Entonces, desde la Terminal de Linux, ejecutamos lo siguiente:
sudo apt-get install nfs-kernel-server nfs-common portmap

Seguimos todas las instrucciones del prompt.

Paso 2: Editamos el archivo /etc/exports
sudo nano /etc/exports

Y agregamos al final del archivo la siguiente linea: /home/labserver/fortimail *(rw,sync)

Donde:
/home/labserver/fortimail: Es el directorio que deseamos compartir desde nuestro Servidor
* : Indica los host desde los cuales podremos aceptar las peticiones de NFS
(rw,sync): Los permisos que daremos a las conexiones de estos hosts para ese directorio compartido

*** En este caso, también se podrían poner IPs específicas o FQDN.
*** Para cada directorio que se desee compartir se deberá agregar una linea independiente.

Paso 3: Editamos el archivo /etc/hosts.allow
sudo nano /etc/hosts.allow

Y al final del archivo agregamos las redes que se permitirán:
Ejemplo:
portmap:192.168.0.0/255.255.0.0
nfs:192.168.0.0/255.255.0.0


Paso 4: Editamos el archivo /etc/hosts.deny
sudo nano /etc/hosts.deny
Agregamos la linea:
portmap:ALL

Paso 5: Creamos el/os directorios a compartir
sudo mkdir /home/labserver/fortimail


Paso 6: Reiniciamos los servicios
sudo /etc/init.d/nfs-common restart
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/portmap restart

Con lo cual ya tendremos listo nuestro Servidor de NFS.

Relacionados :
Cómo Configurar Backups de FortiMail vía NFS


Referencias:
http://nfs.sourceforge.net/nfs-howto/index.html

Montar ISO

Montar imagen ISO como carpeta
De Guía Ubuntu
(Redirigido desde Montar una imagen ISO como una carpeta)
Saltar a navegación, búsqueda

Podemos montar una imagen de disco ISO (.iso) sin tener que grabarla, siguiendo estos pasos:

* Creamos un directorio (punto de montaje) donde montar la imagen:

$ sudo mkdir /media/iso

* Cargamos el módulo loop al kernel, si no estaba cargado todavía:

$ sudo modprobe loop

* Ingresamos a la carpeta contenedora de la imagen (en nuestro caso /home/user):

$cd /home/user

* Montamos la imagen:

$ sudo mount -t iso9660 -o loop archivo.iso /media/iso

Esto indica que se montará el contenido del "archivo.iso" dentro del directorio /media/iso.

Para desmontar la imagen:

$ sudo umount /media/iso

[editar]