#!/bin/bash
# Função: Atualizar pacotes do sistema
atualizar_pacotes() {
echo "Atualizando a lista de pacotes..."
sudo apt update && sudo apt upgrade -y
[ $? -eq 0 ] && echo "Atualização concluída com sucesso!" || echo "Falha na atualização."
}
# Função: Renomear arquivos
renomear_arquivos() {
read -p "Digite o caminho do diretório: " dir
[ ! -d "$dir" ] && { echo "Diretório não encontrado."; return; }
read -p "Deseja adicionar prefixo ou sufixo? (prefixo/sufixo): " tipo
read -p "Digite o texto a adicionar: " texto
for arquivo in "$dir"/*; do
[ ! -f "$arquivo" ] && continue
base=$(basename "$arquivo")
dirpath=$(dirname "$arquivo")
case $tipo in
prefixo) mv "$arquivo" "$dirpath/$texto$base" ;;
sufixo)
ext="${base##*.}"
nome="${base%.*}"
mv "$arquivo" "$dirpath/${nome}${texto}.${ext}"
;;
*) echo "Opção inválida"; return ;;
esac
done
echo "Renomeação concluída!"
}
# Função: Criar usuário
criar_usuario() {
read -p "Digite o nome do usuário a criar: " usuario
read -p "Digite o nome completo (opcional): " fullname
sudo useradd -m -c "$fullname" "$usuario"
if [ $? -eq 0 ]; then
echo "Usuário $usuario criado com sucesso!"
sudo passwd "$usuario"
else
echo "Falha na criação do usuário."
fi
}
# Função: Monitorar espaço em disco
monitorar_disco() {
echo "Verificando uso de disco..."
df -h | tee disk_report.txt
echo "Relatório salvo em disk_report.txt"
}
# Função: Backup com compressão gzip
backup_diretorio() {
read -p "Digite o diretório a ser feito backup: " dir_origem
[ ! -d "$dir_origem" ] && { echo "Diretório de origem não encontrado."; return; }
read -p "Digite o diretório de destino do backup: " dir_destino
[ ! -d "$dir_destino" ] && mkdir -p "$dir_destino"
backup_file="$dir_destino/backup_$(date +%Y%m%d_%H%M%S).tar.gz"
tar -czf "$backup_file" -C "$dir_origem" .
[ $? -eq 0 ] && echo "Backup concluído com sucesso em $backup_file" || echo "Falha no backup."
}
# Menu interativo
while true; do
echo ""
echo "Selecione a operação:"
echo "1) Atualizar pacotes"
echo "2) Renomear arquivos"
echo "3) Criar usuário"
echo "4) Monitorar espaço em disco"
echo "5) Backup de diretório"
echo "0) Sair"
read -p "Escolha uma opção: " opcao
case $opcao in
1) atualizar_pacotes ;;
2) renomear_arquivos ;;
3) criar_usuario ;;
4) monitorar_disco ;;
5) backup_diretorio ;;
0) echo "Saindo..."; exit ;;
*) echo "Opção inválida." ;;
esac
done