Copiar arquivos com Samba via smbclient
Dica publicada em Linux / Comandos
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
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
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