Script de atualização do sistema [RESOLVIDO]

1. Script de atualização do sistema [RESOLVIDO]

Luiz Eduardo Santos de Carvalho
EduardoCarvalho

(usa Debian)

Enviado em 21/11/2011 - 12:39h

Pessoal, estou começando a estudar shell script e já fiz alguns scripts simples.
O último que fiz foi esse que está logo abaixo, que atualiza o sistema.
Estou deixando disponível para todos. Claro que sugestões são bem-vindas. :)

#!/bin/bash
#
# atualizar_sistema.sh
#
# Script para atualizar o sistema automaticamente.
# Pode ser executado manualmente ou pelo cron,
# bastando apenas copiar para /etc/cron.hourly
# para ser executado de hora em hora.
#
#
#
# Eduardo Carvalho, Novembro de 2011
#
#
# Versão v0.2 2011-11-20
# - adicionada a função Debug
# - adicionadas chaves
# - suporta mensagens coloridas
# - adicionado autoclean
# - programa não aceita argumentos
#
# Versão v0.3 2011-11-21
# - adicionado autoremove
#
#

CONFIRMA="1" # Atualiza sem pedir confirmação: 0 desliga, 1 liga
CORRIGE="1" # Corrige dependências quebradas: 0 desliga, 1 liga
AUTOCLEAN="0" # Ativa autoclean: 0 desliga, 1 liga
AUTOREMOVE="0" # Ativa autoremove: 0 desliga, 1 liga
OPCAO="" # Argumentos que serão passados aos comandos de atualização
DEPURAR="0" # Modo de depuração(debug): 0 desliga, 1 liga
EDITANDO="0" # Modo de edição do programa: 0 desliga, 1 liga
USAR_CORES="1" # Utilizar mensagens coloridas: 0 desliga, 1 liga

function cor {
if [ "$USAR_CORES" = "1" ]; then
case $1 in
# Define as cores que podem ser utilizadas
off|OFF) echo -n '';;
preto|PRETO) echo -n '';;
vermelho|VERMELHO) echo -n '';;
verde|VERDE) echo -n '';;
amarelo|AMARELO) echo -n '';;
azul|AZUL) echo -n '';;
magenta|MAGENTA) echo -n '';;
ciano|CIANO) echo -n '';;
branco|BRANCO) echo -n '';;
*) ;;
esac
fi
}

function Debug {
if [ "$DEPURAR" = "1" ]; then
cor AZUL # Define uma cor padrão para as mensagens de depuração
echo -e "-----{ $*"
cor OFF
fi
}

if [ "$#" -ne 0 ]; then # Finaliza execução caso seja passado algum argumento
cor VERMELHO
echo -e "Erro: esse programa não aceita argumentos"
cor OFF && exit 1
fi

if [ "$CONFIRMA" = "1" ]; then
OPCAO="$OPCAO""y" # Adiciona "y", sim para todas as perguntas
fi

if [ "$CORRIGE" = "1" ]; then
OPCAO="$OPCAO""f" # Adiciona "f", corrigir depêndencias quebradas
fi

Debug "Opções resultante: [-$OPCAO]"


#---------- INICIA ATUALIZAÇÃO ----------#

if [ "$EDITANDO" = "0" ]; then
Debug "Executantdo UPDATE: "
apt-get "-$OPCAO" update && cor VERDE && echo "<< UPDATE CONCLUÍDO >>" && cor OFF
Debug "Executantdo UPGRADE: "
apt-get "-$OPCAO" upgrade && cor VERDE && echo "<< UPGRADE CONCLUÍDO >>" && cor OFF
Debug "Executantdo DIST-UPDATE: "
apt-get "-$OPCAO" dist-upgrade && cor VERDE && echo "<< DIST-UPGRADE CONCLUÍDO >>" && cor OFF

if [ "$AUTOCLEAN" = "1" ]; then
Debug "Executantdo AUTOCLEAN: "
apt-get "-$OPCAO" autoclean && cor VERDE && echo "<< AUTOCLEAN CONCLUÍDO >>" && cor OFF
fi

if [ "$AUTOREMOVE" = "1" ]; then
Debug "Executantdo AUTOREMOVE: "
apt-get "-$OPCAO" autoremove && cor VERDE && echo "<< AUTOREMOVE CONCLUÍDO >>" && cor OFF
fi
fi




  


2. Re: Script de atualização do sistema [RESOLVIDO]

Rafael Poletto
polettin

(usa Debian)

Enviado em 21/11/2011 - 13:51h

eu fiz um parecido com esse...
mas nele o usuário pode escolher o que fazer.
mas para fazer o sistema atualizar sozinho de hora em hora não precisaria de script, apenas colocar os comandos no cron.

de um upgrade no seu script pra xdialog com function
vai ficar show :D


3. Re: Script de atualização do sistema [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 21/11/2011 - 13:53h

ou pode usar o yad também ,é bem legal


4. Re: Script de atualização do sistema [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 21/11/2011 - 22:19h

Legal, se quiser postar como script, acesso o link: http://www.vivaolinux.com.br/contribuir/scripts/index.php

Ajuda a manter dentro da categoria, assim os membros que buscarem por um script desse tipo acharão mais fácil.

Parabéns!


5. Re: Script de atualização do sistema [RESOLVIDO]

Luiz Eduardo Santos de Carvalho
EduardoCarvalho

(usa Debian)

Enviado em 21/11/2011 - 22:37h

valeu as dicas, pessoal... e desculpe por postar no local errado
vou melhorar o script e postar de agora em diante no local correto XD






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts