Dia Anterior
Publicado por Perfil removido 08/01/2008
[ Hits: 8.872 ]
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.
#!/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
Crivo de Eratóstenes Simples em Shell Script (BASH Script)
Ubuntu - Removendo kernels antigos
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)