Verificar Conexão e Montar Servidor SAMBA

Publicado por João Paulo em 22/07/2019

[ Hits: 5.033 ]

 


Verificar Conexão e Montar Servidor SAMBA



Olá a todos. Esta é a minha primeira dica.

Estava a procura de algo que automatizasse a montagem de uma pasta compartilhada em uma outra máquina aqui de casa e, de tanto pesquisar, acabei montando um script para fazer isso e gostaria e compartilhar aqui com vocês.

É um script bem simples, creio eu. Mas que deu um pouquinho de trabalho, pois nunca tinha feito nada em Shell e o único conhecimento de programação que tenho é em C, e somente o básico.

Gastei umas 2 horas de pesquisa para montar esse script, portanto se forem me bater, pois o script está bem de iniciante mesmo, maneirem ai (rsrs). Nunca tinha feito nada do tipo antes.

Esse script, antes de realizar a montagem, verifica se a conexão com a internet está funcionando, se sim, ele realiza a montagem. Do contrário, ele fica em um loop até a conexão ser estabelecida.

Fiz dessa forma, pois as formas que encontrei 'prontas' utilizavam o comando "sleep algum_tempo", e isso parecia muito como uma gambiarra e as vezes acabava falhando, então tentei fazer algo 'mais certeiro'.

Vamos lá!

Script

Primeiro, vamos criar um serviço no seguinte diretório: /usr/lib/systemd/system

Vamos aos comandos:

# nano /usr/lib/systemd/system/MontagemSamba.service

O nome "MontagemSamba.service" é o nome do serviço e pode ser alterado de acordo com sua preferência.

Coloque o seguinte código dentro desse "arquivo":

Description=/etc/rc.d/Samba.sh --samba-server

Type=oneshot
ExecStart=/etc/rc.d/samba.sh
RemainAfterExit=yes

WantedBy=multi-user.target

Salve com Ctrl+o, aperte para salvar com o mesmo nome e Ctrl+x, para sair.

Repare na linha "ExecStart=/etc/rc.d/samba.sh", no final da linha temos "samba.sh" no diretório /etc/rc.d -> "samba.sh", é o nome do script que vamos criar, e /etc/rc.d é o diretório desse script.

Passos

Agora, vamos criar o script:

1º Passo:

Cheque se já existe uma pasta com o nome "rc.d" no diretório /etc. Se existir, vá para o 2º passo.

sudo mkdir -p /etc/rc.d

2º Passo:

sudo nano /etc/rc.d/samba.sh

Coloque o seguinte conteúdo no arquivo:

#!/bin/bash

for ((i = 0; i != 222; i++))
do
    ping www.google.com.br -c 1 >/dev/null;
    if [ "$?" = "0" ] ;
    then
        mount -t cifs -o username=SeuUsuarioSamba,password=SenhaDesseUsuario //ip_do_servidor/pasta_que_deseja_montar /mnt/samba
#Exemplo: mount -t cifs -o username=filmes,password=filmes123 //192.168.0.105/filmes /mnt/samba
        exit;
    else
        i=0;
    fi
done

Salve da mesma forma: Ctrl+o -> Enter -> Ctrl+x

Vamos dar permissões a esse script:

sudo chmod -R 775 /etc/rc.d

Perceba que o script está dizendo para montar no diretório /mnt/samba. Precisamos criar esse diretório.

Rode o comando:

sudo mkdir /mnt/samba

Agora, vamos habilitar o serviço que criamos no systemd:

sudo systemctl enable MontagemSamba.service

E está pronto! A próxima vez que a máquina for ligada/reiniciada, o servidor deverá ser montado automaticamente quando houver uma conexão funcional com a internet. :D

Obrigado!

Fontes


Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Como manter seu código atualizado com um repositório Git remoto

Utilizando o vim

SED - salvar resultados em novo arquivo

Shell Script no Eclipse - It is possible!

Conhecendo o printf

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts