Pular para o conteúdo

Copiar arquivos com Samba via smbclient

Dica publicada em Linux / Comandos
Gabriel Fernandes nayamonia
Hits: 48.985 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Copiar arquivos com Samba via smbclient

Para copiar arquivos de uma máquina Windows ou Linux com um compartilhamento SMB via Samba, diretamente do console shell do Linux, use o smbclient, veja os exemplos abaixo:

Copiando da máquina Linux para uma máquina samba na rede com senha no compartilhamento de rede:

smbclient //IP_Windows/compartilhamento -U usuario --pass senha -c "put /caminho_local/arquivo caminho_destino\arquivo;"

Na prática, ficaria assim para copiar um arquivo da máquina Linux para a máquina 192.168.12.201 (Windows):

# smbclient //192.168.12.201/compartilha -U usuario --pass senha -c "put /etc/hosts teste_copia\hosts;"

Copiando da máquina Windows para a pasta atual da máquina Linux, como convidado sem senha:

smbclient //IP_Windows/compartilhamento -U guest --pass "" -c "get arquivo;"

Exemplo prático, para copiar o arquivo teste.txt para a pasta atual no Linux:

# smbclient //192.168.12.201/compartilha -U guest --pass "" -c "get teste.txt;"

Copiando da máquina Windows para uma pasta qualquer da máquina Linux, como convidado sem senha:

smbclient //IP_Windows/compartilhamento -U guest --pass "" -c "get arquivo /caminho_destino/arquivo;"

Exemplo prático:

# smbclient //192.168.254.219/dados -U guest --pass "" -c "get 00021203.ALT /root/Desktop/Altera6.sdf;"

Para finalizar, como alternativa para enviar a senha, pode-se colocá-la ao final da linha de comando, conforme exemplo abaixo, sem a necessidade do parâmetro --pass:

# smbclient //192.168.1.201/path -U usuario -c "get CliSiTef.ini;" senha_do_usuario

Boa sorte.
Gabriel Fernandes

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Converter disco virtual VMDK para VDI em 3 passos

Permissão de acesso à dispositivos USB no Oracle Virtual Box

Driver Realtek RTL8101E para Linux CentOS 5

Recuperando / corrigindo erros em partição / (raiz) em LVM - Fedora Core 5

Habilitando VNC como módulo do X11

Alias definitivo

Transferência de arquivos usando o fish no KDE

Como saber o número serial do HD

Alias no Ubuntu 10.04 com .bash_aliases

Utilizando o SCP em vários servidores sem pedir senha

#1 Comentário enviado por pc.charlison em 24/06/2011 - 15:59h
Muito boa dica Gabriel, estou exatamento executando essa tarefa pois a empresa comprou um novo servidor e estou migrando os arquivos de um conextiva para o windows server...

Mas copiar arquivo por arquivo vai demorar muito...

Consegui executar o comando acima tranquilamente, mas gostaria de saber se é possível copiar a pasta logo de uma vez...???

Se tiver a resposta postai pra nós..

Forte abraço..

Pedro Charlison
#2 Comentário enviado por nayamonia em 26/06/2011 - 13:39h
Valeu Pedro, dá pra copiar a pasta inteira sim ... veja o exemplo:

Tenho um compartilhamento chamado "path" e nele há uma pasta Descanso, parar copiar todo o conteúdo pastas e subpastas use os comando recurs, prompt e depois mget. Observe o exemplo abaixo:

smbclient //192.168.254.95/path -U guest --pass "" -c "recurse; prompt; mget Descanso*;"

O contrário, enviar a pasta do Linux para o compartilhamento samba, seria assim:

smbclient //192.168.254.95/path -U guest --pass "" -c "recurse; prompt; mput Descanso*;"

Acho que isto vai te ajudar.

Boa sorte!
#3 Comentário enviado por natogordo em 05/10/2011 - 13:37h
Olá amigo.

Estou precisando copiar um arquivo do Linux para um compartilhamento Windows, porém iria automizar esta tarefa.

Como posso fazer para copiar o arquivo no linux direto para meu compartilhamento.

Obrigado

Contribuir com comentário

Entre na sua conta para comentar.