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