Init do projeto.

This commit is contained in:
William Grando 2025-06-06 16:26:47 -03:00
commit fac8a2c491
2 changed files with 101 additions and 0 deletions

70
persist.sh Normal file
View 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
View 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.