Rastreando suas encomendas dos Correios
Publicado por Fábio Fabris (última atualização em 23/01/2010)
[ Hits: 8.990 ]
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
4net.sh - Calcula velocidade de transmissão na rede
Shell Script para instalação do software FTOOL
Numlock automático no Slackware
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
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
qual tipo de interface linux para processador do tipo apu (7)
Alternar as janelas clicando na barra de tarefas (2)
Agora temos uma assistente virtual no fórum!!! (244)
Ubuntu 22.04 / Bluethooth - Falha na conexão BlueZ | Não conecta caixa... (6)