Um script em bash para criação de um aquivo swap (swapfile) - atualizado

Segue um script que fiz para criar um arquivo swap

  • Cria um arquivo do tamanho que você quer
  • Detecta se é um btrfs
  • Insere automaticamente no fstab
#!/bin/bash
# Criar arquivo swap 0.3

echo "Iniciando criação do swapfile, insira sua senha sudo para continuar o processo"

[ "$UID" != 0 ] && SUDO=sudo

FORMATO=`awk '$2 == "/" {print $3}' /etc/fstab`
if [[ $FORMATO == "btrfs" ]]; then
$SUDO truncate -s 0 /swapfile
$SUDO chattr +C /swapfile
$SUDO btrfs property set /swapfile compression none
echo "Criando um arquivo de tamanho zero, definindo o atributo No_COW nele com chattr e verificando se a compactação está desabilitada"
fi

while read -p "Insira o tamanho do arquivo em giga (numero inteiro)" -a TAMANHO ; do
   [[ "$TAMANHO" -ge 1 ]] && break
   [[ "$TAMANHO" = [a-z]* ]] && continue
done

DEFINIDO=$(( $TAMANHO*1024 ))

echo "Usando dd para criar um arquivo de troca do tamanho da sua escolha"
$SUDO dd if=/dev/zero of=/swapfile bs=1M count="$DEFINIDO" status=progress
echo "Definido as permissões"
$SUDO chmod 600 /swapfile
echo "Formatando o arquivo"
$SUDO mkswap /swapfile
echo "Ativando o arquivo swap"
$SUDO swapon /swapfile
echo "Definido no fstab"
echo "/swapfile none swap defaults 0 0" | $SUDO tee -a /etc/fstab
6 Curtidas

Ótima iniciativa. Parabéns. Ademais, recomendo que coloque a tag “Eu que fiz” e “Desenvolvimento” nessa postagem.

muito bom!

script atualizado

1 Curtida

atualizado…

apenas modificando texto

1 Curtida