Dia Anterior

Publicado por Perfil removido 08/01/2008

[ Hits: 8.747 ]

Download diaanterior.sh




Script criado para compactar arquivos que foram gravados em um diretório com a data corrente, porém é para compactar o conteudo do diretório do dia anterior.

Falta colocar o acesso ao diretório para compactar.

  



Esconder código-fonte

#!/bin/bash
#:: __________________________________________________________
#::
#::  Bash Script:     diaanterior.sh
#::  Autor:           William Alves Santos
#::
#::  Updates:
#::  Enhancement Req.
#::  And Bug Reports: williamalvessantos@gmail.com
#::
#::  Built/Tested On: Linux kernel 2.6.18-4-686
#::  Requirements:    OS: Any common Linux
#::
#::  Purpose:         Dia Anterior
#::
#::  Assumptions And
#::  Limitations:     * Assumes read-write access
#::
#::  Last Update:     2007-11-22
#:: __________________________________________________________
#
#     Dia Anterior - Rotina criada para compactar arquivos em uma pasta do dia anterior
# ===============================================
#

ANO=$(date +%Y)                 # DECLARA ANO ATUAL             ->      YYYY    =       2007
        MES=$(date +%m)         # DECLARA MES ATUAL             ->      MM      =       12
                MESDIV=$( expr $MES / 1 )
        DIA=$(date +%d)         # DECLARA DIA ATUAL             ->      DD      =       31
                DIADIV=$( expr $DIA / 1 )
ANOANT=$((--ANO))               # DECREMENTA -1 ANO             ->      YYYY    =       2006
        MESANT=$((--MESDIV))       # DECREMENTA -1 MES          ->      YY      =       11
                MESANTDIV=$( expr $MESANT / 1 )
        DIAANT=$((--DIADIV))       # DECREMENTA -1 DIA          ->      DD      =       30
                DIAANTDIV=$( expr $DIAANT / 1 )
# echo HOJE $ANO-$MES-$DIA
ANO=$(date +%Y)                 # DECLARA ANO ATUAL             ->      YYYY    =       2007
        MES=$(date +%m)         # DECLARA MES ATUAL             ->      MM      =       12
                MESDIV=$( expr $MES / 1 )
        DIA=$(date +%d)         # DECLARA DIA ATUAL             ->      DD      =       31
                DIADIV=$( expr $DIA / 1 )

ANOMLTPL400=`expr $ANO % 400`
        ANOMLTPL100=`expr $ANO % 100`
                ANOMLTPL4=`expr $ANO % 4`

case $MES in                    # Informa termino do MES - ANTERIOR
        01) DIAFINALMESANT=31 ;;
        02) DIAFINALMESANT=31 ;;
        03) if [[ $ANOMLTPL4 == 0 ]] && [[ $ANOMLTPL100 != 0 ]] || [[ $ANOMLTPL400 == 0 ]] ;
                then DIAFINALMESANT=29 ;
                        else DIAFINALMESANT=28 ; fi ;;
        04) DIAFINALMESANT=31 ;;
        05) DIAFINALMESANT=30 ;;
        06) DIAFINALMESANT=31 ;;
        07) DIAFINALMESANT=30 ;;
        08) DIAFINALMESANT=31 ;;
        09) DIAFINALMESANT=31 ;;
        10) DIAFINALMESANT=30 ;;
        11) DIAFINALMESANT=31 ;;
        12) DIAFINALMESANT=30 ;;
esac

case $MES in                    # Informa termino do ANO - ANTERIOR
        01) MESANT=12   ;;
esac

# Resolve virada do ANO
if [[ $DIADIV == 1 ]] && [[ $MESDIV == 1 ]] ; then echo $ANOANT; else ANOANT=$ANO ; fi > /dev/null
        # Resolve virada do MES
        if [[ $DIADIV == 1 ]] ; then echo $MESANTDIV ; else MESANTDIV=$MESDIV ; fi > /dev/null
                # Resolve virada do DIA primeiro
                if [[ $DIADIV == 1 ]] ; then DIAANTDIV=$DIAFINALMESANT ; fi > /dev/null
VARZERO=0
# Resolve DIA menor que 10
        if [ $DIAANTDIV -lt 10 ] ; then echo $VARZERO$DIAANTDIV ; else echo $DIAANTDIV ; fi > antdia
                ANTDIA=$(cat antdia)
# Resolve MES menor que 10
        if [ $MESANTDIV -lt 10 ] ; then echo $VARZERO$MESANTDIV ; else echo $MESANTDIV ; fi > antmes
                ANTMES=$(cat antmes)
# Declara ANO para a varivel padrao ANT___
                ANTANO=$ANOANT

        if [ $ANTMES == '00' ] ; then ANTMES=12 ; else echo $ANTMES ; fi > /dev/null

echo HOJE $ANO-$MES-$DIA
echo ONTEN $ANTANO-$ANTMES-$ANTDIA


Scripts recomendados

VIM Colorido

Menu

cpufreq-selector em Dialog - Centrino frequencia

Slapt CP 1.0 - salvar os pacotes baixados no Gslapt

ebook-cli - gerencia livros digitais entre PC e leitores ebooks


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts