Rastreando suas encomendas dos Correios
Publicado por Fábio Fabris (última atualização em 23/01/2010)
[ Hits: 8.964 ]
Download 1263939365.correios.sh (versão 2)
Script para rastrear os pacotes dos correios que você está esperando. Assim que o pacote mudar de estado ou chegar, um email é enviado para o usuário.
O email deve estar devidamente configurado.
Um exemplo de configuração para o gmail:
/etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:465
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=marvin
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=NO
UseTLS=YES
AuthUser=????@gmail.com
AuthPass=????
Versão 2 - Enviado por Fábio Fabris em 19/01/2010
Changelog: Sugestões de arthurd2 adicionadas;
Script mais robusto: prevê indisponibilidade do site;
Download 1263939365.correios.sh
#!/bin/bash URL='http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=' PATHTMP="/tmp" function getPage { wget -nv -t 10 $2 -O $1.html >>$PATHTMP/$CODE.log 2>>$PATHTMP/$CODE.log html2text -nobs $1.html > $1.out } function usage { cat << EOF uso: $0 -c [CODIGO DE RASTREAMENTO] -e [EMAIL] -i [INTERVALO] -b -c O código de rastreamento dado pelos correios -e O email para enviar as atualizações (o mail deve estar configurado) -i intervalo entre checagens em segundos (padrão: 1 hora) -b aviso sonoro no caso de modificação EOF } function checkOpt { eval R='$'$1 if test -z '$'$1 then echo $2 read -e $1 fi } function beepAux { if ! [ -z $BEEP ] then beep fi } while getopts "c:e:i:bh" OPTION do case $OPTION in c) CODE=$OPTARG;; e) EMAIL=$OPTARG;; i) POLLTIME=$OPTARG;; b) BEEP=beep;; h) usage exit;; ?) usage exit;; esac done checkOpt CODE "Entre com o código de ratreamento do produto" checkOpt EMAIL "Entre com o email que deve ser avisado" checkOpt POLLTIME "Entre com o intervalo de checagens" beepAux if [ -e $PATHTMP/${CODE}"base.out" ] then echo "arquivo de referencia existe" else echo "baixando arquivo de referencia" getPage $PATHTMP/${CODE}"base" $URL$CODE fi #echo | mail $EMAIL -s "\"Quando ' $CODE ' chegar te aviso\"" while [ 1 ]; do date date >> $PATHTMP/$CODE.log getPage $PATHTMP/${CODE}"tmp" $URL$CODE if cmp -s $PATHTMP/${CODE}"base.out" $PATHTMP/${CODE}"tmp.out" >> $PATHTMP/$CODE.log then echo 'Sem mudança' else echo 'Houve mudança' echo '***** Houve mudança *****' >> $PATHTMP/$CODE.log beepAux if fgrep -q Entregue $PATHTMP/${CODE}"base.out" then mail $EMAIL -s '"Chegou o Pacote"' <$PATHTMP/${CODE}"tmp.out" echo "chegou o pacote" exit else mail $EMAIL -s '"Mudança de Estado"' <$PATHTMP/${CODE}"tmp.out" getPage $PATHTMP/${CODE}"base" $URL$CODE fi fi sleep $POLLTIME done
Removendo primeiras ou últimas linhas do arquivo
Fazendo Backup de arquivos de micros em redes.
Descobrindo a que tipo de repositório um pacote pertence
Monitoramento de espaco em disco, load e usuarios logados na maquina por e-mail
[Nokia-3g] Configuração do Nokia Internet Stick CS 10
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Não consigo baixar e usar temas no KDE (2)
Como faço boot direto na área de trabalho pelo sddm? (2)
Mint/Ubuntu desligam ao fechar a tampa (3)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (22)