Init do projeto.
This commit is contained in:
commit
fac8a2c491
70
persist.sh
Normal file
70
persist.sh
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 1. Lista partições físicas disponíveis (excluindo loop e rom)
|
||||||
|
DISCOS=($(lsblk -lpno NAME,TYPE | grep part | awk '{print $1}' | grep -vE 'loop|sr|rom'))
|
||||||
|
|
||||||
|
# Verifica se encontrou discos
|
||||||
|
if [ ${#DISCOS[@]} -eq 0 ]; then
|
||||||
|
echo "Nenhuma partição encontrada."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2. Mostra menu para o usuário escolher
|
||||||
|
echo "Selecione uma partição para montar:"
|
||||||
|
for i in "${!DISCOS[@]}"; do
|
||||||
|
echo "$((i+1))) ${DISCOS[$i]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# 3. Recebe escolha
|
||||||
|
read -p "Digite o número da partição desejada: " escolha
|
||||||
|
|
||||||
|
# Valida escolha
|
||||||
|
if ! [[ "$escolha" =~ ^[0-9]+$ ]] || [ "$escolha" -lt 1 ] || [ "$escolha" -gt ${#DISCOS[@]} ]; then
|
||||||
|
echo "Opção inválida."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DEVICE=${DISCOS[$((escolha-1))]}
|
||||||
|
|
||||||
|
# 4. Obtém UUID
|
||||||
|
UUID=$(blkid -s UUID -o value "$DEVICE")
|
||||||
|
if [ -z "$UUID" ]; then
|
||||||
|
echo "UUID não encontrado para $DEVICE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 5. Detecta o tipo de sistema de arquivos
|
||||||
|
FSTYPE=$(blkid -s TYPE -o value "$DEVICE")
|
||||||
|
if [ -z "$FSTYPE" ]; then
|
||||||
|
echo "Tipo de sistema de arquivos não encontrado."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 6. Solicita ponto de montagem
|
||||||
|
read -p "Informe o ponto de montagem (ex: /mnt/dados): " MOUNTPOINT
|
||||||
|
|
||||||
|
# Cria se não existir
|
||||||
|
if [ ! -d "$MOUNTPOINT" ]; then
|
||||||
|
echo "Criando diretório $MOUNTPOINT"
|
||||||
|
mkdir -p "$MOUNTPOINT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 7. Linha que vai pro fstab
|
||||||
|
FSTAB_LINE="UUID=$UUID $MOUNTPOINT $FSTYPE defaults 0 2"
|
||||||
|
|
||||||
|
# Verifica se já existe
|
||||||
|
if grep -qs "$UUID" /etc/fstab; then
|
||||||
|
echo "UUID já está no fstab. Abortando."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 8. Escreve no fstab
|
||||||
|
echo "Adicionando ao /etc/fstab:"
|
||||||
|
echo "$FSTAB_LINE"
|
||||||
|
echo "$FSTAB_LINE" | tee -a /etc/fstab
|
||||||
|
|
||||||
|
# 9. Monta
|
||||||
|
mount -a
|
||||||
|
|
||||||
|
# 10. Sucesso
|
||||||
|
echo "Montado $DEVICE em $MOUNTPOINT com UUID=$UUID"
|
||||||
31
readme.MD
Normal file
31
readme.MD
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Persist
|
||||||
|
### 📌 Sobre o Projeto
|
||||||
|
|
||||||
|
Um script simples para montagem de discos no linux, lista todas as partições disponiveis, voce escolhe, informa onde quer montar e pronto !
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### 🚀 Como usar
|
||||||
|
---
|
||||||
|
|
||||||
|
- Acesse seu terminal;
|
||||||
|
- Clone o repositorio:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone https://git.instantti.com.br/instant/persist-disk.git
|
||||||
|
```
|
||||||
|
|
||||||
|
- acesse o diretorio:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cd persist-disk/
|
||||||
|
```
|
||||||
|
- Execute o comando:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
chmod +x persist.sh && \
|
||||||
|
sh persist.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
>[!TIP]
|
||||||
|
> - O script em questão é interativo, então ao executar siga o passo-a-passo dele.
|
||||||
Loading…
x
Reference in New Issue
Block a user