0
respostas

[Projeto] Automatização de tarefas por meio de Shell Scripting

1- Atualização de pacotes do sistema

#!/bin/bash
# Atualiza a lista de pacotes e instala as atualizações

echo "Atualizando o sistema..."
sudo apt update && sudo apt upgrade -y

if [ $? -eq 0 ]; then
    echo "Sistema atualizado com sucesso!"
else
    echo "Houve um erro na atualização."
fi

2- Renomear arquivos com prefixo/sufixo

#!/bin/bash

read -p "Digite o diretório com os arquivos: " dir
read -p "Digite o prefixo (ou sufixo): " texto
read -p "Você deseja adicionar como [1]Prefixo ou [2]Sufixo? " escolha

cd "$dir" || exit

for arquivo in *; do
   if [ -f "$arquivo" ]; then
       if [ "$escolha" = "1" ]; then
           mv "$arquivo" "${texto}_$arquivo"
       else
           nome="${arquivo%.*}"
           extensao="${arquivo##*.}"
           mv "$arquivo" "${nome}_${texto}.${extensao}"
       fi
   fi
done

echo "Arquivos renomeados com sucesso."

3 - Criar usuários no sistema

#!/bin/bash

read -p "Digite o nome do novo usuário: " usuario
read -p "Deseja criar um diretório home para o usuário? [s/n] " home
read -p "Digite o shell padrão (ex: /bin/bash): " shell

comando="sudo useradd"

if [ "$home" = "s" ]; then
   comando+=" -m"
fi

comando+=" -s $shell $usuario"

$comando

if [ $? -eq 0 ]; then
   echo "Usuário $usuario criado com sucesso."
else
   echo "Erro ao criar o usuário."
fi

4 - Monitorar espaço em disco

#!/bin/bash

echo "Monitorando espaço em disco..."
echo "-------------------------------"
df -h | grep -v tmpfs

echo "-------------------------------"
echo "Verifique se há partições com uso acima de 80%!"

5 - Backup de diretório com compressão gzip

#!/bin/bash

read -p "Digite o diretório de origem: " origem
read -p "Digite o diretório de destino: " destino

data=$(date +%Y%m%d_%H%M%S)
nome_arquivo="backup_$data.tar.gz"

tar -czvf "$destino/$nome_arquivo" "$origem"

if [ $? -eq 0 ]; then
   echo "Backup criado com sucesso em $destino/$nome_arquivo"
else
   echo "Erro ao criar backup."
fi