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