como copiar archivos con samba desde un archivo sh

Iniciado por Roxhp, 7 Octubre 2010, 16:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Roxhp

Hola:

Bueno este es mi dilema, necesito respaldar algunos archivos que estan en una carpeta compartida con samba a una carpeta local, quiero que esto se haga en automatico mediante un cron y para esto necesito realizar un archivo sh para que acceda a la carpeta y copie los archivos.

Cuando corro el script puedo acceder a la carpeta compartida pero no recuperar los archivos sino que se queda dentro de samba sin recuperar nada.

Soy nueva en hacer cosas como estas con shell, de hecho soy nueva en esto de shell pero me gustaria saber si esto que quiero hacer es posible y si me pudieran hechar una mano para poder realizarlo, obvio no todo pero si una guia para ayudarme.

Muchas gracias de antemano por su atencio y espero alguno de ustedes pueda ayudarme.
§º·º§®ø×@n@§º·º§

j4np0l

#1
Para copiar archivos se usa el comando cp

Por ej:

Código (bash) [Seleccionar]
cp -r /DirectorioOrigen/ /Destino

Nota el parámetro -r, este se utiliza para copiar el directorio y todo su contenido.

Saludos!

Roxhp

Hola:

Gracias por responder!!!

Mira yo accedo a mi carpeta en samba de esta manera:



smbclient //servidor/carpeta -U usuario contraseña

// con esto normalmente se recupera desde samba los archivos desde linea de comandos
mget *.TXT



Con la primera linea me abre el directorio pero me deja dentro no me recupera nada

con la sentencia que tu me diste supongo que seria de esta forma:



cp -r smb://servidor/carpeta -U usuario password /directorio_local

// o bien de esta manera...
cp -r smb://servidor/carpeta /directorio_local



En la primera linea me marca error en el parametro -U porque no es valido, y con la segunda pues de todos modos me dice que el directorio no existe.

La carpeta de la cual quiero copiar esta en un servidor y esta esta compartida mediante samba y protegida por contraseña.

No se si me explico bien o te enredo mas.
§º·º§®ø×@n@§º·º§

-Ramc-

Y si más bien montas el directorio remoto en tu sistema y después accedes a el como uno normal.

smbmount //hostname/directory pathLocal/ -o user=X password=Y rw

Y después accedes a pathLocal/ como cualquier otra carpeta de tu sistema, en ese caso ya podríaas hacer el cp o lo que sea necesario.

Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.

Roxhp

Gracias!!!

Pero sinceramente eso ya lo habia intentado solo que no se porque razon no me deja montar la carpeta

me dice que no es un comando valido o encontrado no se mucho de ingles :P  smbmount: command not found

pero pues se mas o menos que jalada es y el caso es que no me lo permite o reconoce. no se si dependa de los permisos de la carpeta compartida o a que se deba, pero no me deja montarla en mi local.

Lo malo es que aqui en la empresa son medio paranoicos y pues mejor ni me meto al servidor y no se si quieran darle los privilegios que necesito a la carpeta.

Espero y sepas cual es la razon, seguire investigando y cualkier cosa te aviso, gracias!!!
§º·º§®ø×@n@§º·º§

j4np0l

#5
Montalo con el comando mount (necesitas tener instalados los paquetes de samba para poder montar usando cifs):

Código (bash) [Seleccionar]
mount -t cifs -o password=PASS //servidor/Recurso /Destino

Para mas info sobre esto:

Código (bash) [Seleccionar]
man mount.cifs

Si no te deja usar cifs, proba con smbfs (cifs es un update del protocolo smb). Un comentario: smbmount es una herramienta, no un comando propio de linux, así que lo que te esta pasando es que no tenes esta herramienta instalada.

P.D: Que distro estas usando?

Saludos!

-Ramc-

Sino encuentra el comando pueden ser dos cosas.

Que el comando esté en la carpeta /sbin/ por lo que lo va a encontrar si lo ejecutas como root.

Pero, no creo que sea eso, intenta ejecutar el comando como root y me avisas.

También puede ser que el comando no esté en el sistema y puede ser porque instalaste mal samba o lo instalaste incompleto.

Por otro lado puedes usar directamente mount:
mount -t cifs //hostname/directory pathLocal/ -o username=X,password=Y


¿Qué distribución usas en la maquina? y ¿Cómo instalaste samba? ¿Qué paquetes?

Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.

Roxhp

#7
Mira la distrubucion es centos 5, la instalacion de samba la trae por defecto, esta lista para usarse.

Tengo reinstalar??? porke tampoco me reconoce cifs ni smbfs

ahhhh y si lo estoy ejecutando como root
§º·º§®ø×@n@§º·º§

j4np0l

#8
Te esta faltando el paquete samba-client

Código (bash) [Seleccionar]
yum install samba-client

Centos 5 tiene cifs implementado en el kernel, pero para montar un directorio remoto necesitas ese paquete.

Aviso: estamos hablando de la maquina desde la cual estas intentando montar, NO del servidor.

Saludos!

Roxhp

Ok. deja instalo, pruebo y les aviso  ;D

Gracias por todo... les aviso como voy... va???
§º·º§®ø×@n@§º·º§