Verificar Conexão e Montar Servidor SAMBA

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

[ Hits: 5.034 ]

 


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

Criando programas com opções

Apagar linhas comentadas de arquivos

Como fazer o Linux ignorar um ping

Funções em Shell Script

Tutoriais de Shell Scripts

  

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