Aqui faremos um POST rápido sobre um assunto que acreditamos que possa acrescentar a vários profissionais, seremos breves e abordaremos de uma maneira também bem simples com o objetivo de agregar o máximo da forma mais rápida.

Requisitos

Primeiro vamos aos requisitos para execução, precisaremos:

  • Dos dados do servidor de arquivos, sendo:
    • O endereço IP;
    • O nome da pasta compartilhada;
  • De credencial (usuário, senha e domínio) com acesso de escrita na pasta de rede compartilhada;

Configuração e teste inicial

Com os requisitos necessários, no CentOS, vamos instalar o Samba Client (smbclient). Para isso execute no CentOS o comando:

yum install samba-client -y

Vamos criar um arquivo para fazermos uma cópia de teste. Para isso, execute os seguintes comandos:

cd /tmp
echo “teste1” > /tmp/arquivo1.txt

echo “teste2” > /tmp/arquivo2.txt

Agora vamos copiar o arquivo, para isso utilize o seguinte comando (altere as partes em cinza conforme a sua necessidade):

smbclient //192.168.77.199/NomeCompartilhamento -U usuario@dominio.com –pass senha -c “lcd /tmp/; put arquivo1.txt

Verifique se o arquivo1.txt foi copiado, se funcionou corretamente vamos fazer com as credenciais definidas em um arquivo de configuração, para evitarmos inserir usuários e senhas em linha de comando. Para isso execute os seguintes comandos (altere as partes em cinza conforme a sua necessidade):

mkdir -p /etc/smbclient
echo “username = usuario” > /etc/smbclient/NomeServidor_NomeCompartilhamento
echo “password = senha” >> /etc/smbclient/NomeServidor_NomeCompartilhamento
echo “password = senha” >> /etc/smbclient/NomeServidor_NomeCompartilhamento
echo “domain = dominio.com” >> /etc/smbclient/NomeServidor_NomeCompartilhamento

smbclient //192.168.77.199/NomeCompartilhamento -A /etc/smbclient/NomeServidor_NomeCompartilhamento -c “lcd /tmp/; put arquivo2.txt

Verifique se o arquivo2.txt também foi copiado.

Opcional – Fazendo o backup de arquivos

Vamos supor que você criou um servidor utilizando nosso post Instalando o Proxy Reverso com Ngnix no CentOS e agora quer fazer backup de toda a configuração, uma possível solução seria um comando que liste todos os arquivos de configuração e, para cada arquivo, copie para a pasta de rede. Para isso execute o comando (altere as partes em cinza conforme a sua necessidade):

for file in `ls /etc/nginx/conf.d`; do smbclient //192.168.77.199/NomeCompartilhamento -A /etc/smbclient/NomeServidor_NomeCompartilhamento -c “lcd /tmp/; put $file”; done

Se desejar criar uma rotina diária automática, às 23:00 (por exemplo), para executar esse backup, crie o agendamento do cron, com o seguinte comando:

vim /etc/cron.d/smbclient

Dentro do arquivo, coloque o seguinte (altere as partes em cinza conforme a sua necessidade):

# Run the certbot jobs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
0 23 * * * root for file in `ls /etc/nginx/conf.d`; do smbclient //192.168.77.199/NomeCompartilhamento -A /etc/smbclient/NomeServidor_NomeCompartilhamento -c "lcd /tmp/; put $file"; done

Salve, reinicie o crond (comando systemctl crond restart) e teste.

Fontes/Referências

NVLAN – Instalando o Proxy Reverso com Ngnix no CentOS7

https://samba.org/samba/docs/current/man-html/smbclient.1.html
https://superuser.com/questions/856617/how-do-i-recursively-download-a-directory-using-smbclient
https://stackoverflow.com/questions/56154775/script-to-copy-log-files-from-linux-server-to-windows-shared-server
https://unix.stackexchange.com/questions/227538/is-it-possible-to-transfer-a-file-from-a-linux-bash-script-to-windows-without-mo

Mais Informações

Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.

Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria