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
Nenhum comentário foi encontrado.