shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Backup de arquivos com data de criação no nome


From: Rodolfo Villanova
Subject: RES: [shell-script] Backup de arquivos com data de criação no nome
Date: Tue, 7 May 2002 17:35:07 -0300

Humm...Sorry!!
Babada minha...!

A linha :

-d" " 2> /dev/null`

acabou ficando na linha seguinte, e aí f... a execução do script dton.sh,
que está perfeito.

Foi mal!
Julio, me desculpa a babada...!

Rodolfo

-----Mensagem original-----
De: Rodolfo Villanova
[mailto:address@hidden]
Enviada em: martes, 07 de mayo de 2002 15:36
Para: address@hidden
Assunto: RES: [shell-script] Backup de arquivos com data de criação no
nome


Amigo Julio,

O script ntod.sh está ok, mas no dton.sh encontrei um problema.
A execução do dton.sh devolve uma diferença de 245 (dias) entre o número que
deveria retornar e o número devolvido por esse script.

Ex.:
> dton.sh 07/05/2002
8408

#quando deveria retornar:
8163

Estou meio sem tempo, mas assim que localizar o problema dou retorno à
lista, ok?

Abraço!

Rodolfo

====================================>8CorteAqui8<===========================

Existe alguma forma simples/pronta de pegar a data de ontem??
Lembrando que "ontem" pode ser dia 30, 31 ou 29, pode ser também do ano
passado, ano bissexto, etc...

> > que tal essa?
> >
> > $ date --date '1 day ago'
> > Ter Ago  7 11:11:11 BRT 2001
> >
> >
> > - e assim dá pra fazer com day, month, year
> > - dá pra colocar o número que quiser tb na quantidade
> > - tire o 'ago' e a data vai ser no futuro.
> >
> > exemplos:
> >
> > ontem:       1 day ago
> > amanhã:      1 day
> > daqui um mês:  1 month
> > combinação:  1 month 15 days ago

====================================>8CorteAqui8<===========================

Esta é realmente uma tremenda solução em bash puro! Mas se vc estiver usando
outro sabor, a necessidade me obrigou a desenvolver 2 scrips: o primeiro -
dton.sh - transforma uma data em dias decorridos a partir de 01/01/1980 e o
segundo - ntod.sh - transforma números em datas.

Abaixo estes 2 scripts, que tb podem ser encontrados em
http://www.dicaslinux.com.br. Vale a pena uma visita. O site é mantido por
bons profissionais e está repleto de dicas.

====================================>8CorteAqui8<===========================

Prompt> cat dton.sh
#!/bin/ksh
#
#======================================================================
# Calcula qtd dias entre uma data passada como parametro e 01/01/1980.
# Se nao for passado nenhum parametro a data de hoje sera assumida.
# Obs. Para executar este programa sob o sh, trocar os $((..)) por expr
#======================================================================
# Leia: Linux - Programacao Shell  ISBN: 85-7452-048-9
# Autor: Julio Cezar Neves <mailto:address@hidden>
#======================================================================
#
if  [ $1 ]
then
        DFim=`echo $1 | cut -f1 -d"/"`
        MFim=`echo $1 | cut -f2 -d"/"`
        AFim=`echo $1 | cut -f3 -d"/"`
else
        DFim=`date +%d`
        MFim=`date +%m`
        AFim=`date +%Y`
fi

TotDias=$((1 + 365 * (AFim - 1980) + (AFim - 1980) / 4))
[ $((AFim % 4)) = 0 -a $MFim -le 2 ] && TotDias=$((TotDias - 1))

[ $MFim -ne 1 ] &&
for i in `echo "31 28 31 30 31 30 31 31 30 31 30 31" | cut -f-$((MFim - 1))
-d" " 2> /dev/null`
do
        TotDias=$((TotDias + $i))
done
echo $((TotDias + DFim))

-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]