:::: MENU ::::

quarta-feira, 11 de maio de 2011

Estava eu querendo saber como apagar os arquivos de backup de dias anteriores, pra não fazer sujeira e manter um certo controle, achei isso aqui... Mui útil!

Quem brinca com shell script certamente já se perguntou isso: Como eu obtenho a data do dia anterior, ou de dois dias anteriores(e por ai vai...)?

Várias soluções virão a cabeça:

"Dou um ls no diretório e apago os primeiros que forem listados"
não confiável

"Em um laço, eu dou um ls -l, pego a coluna da data, comparo com a data de hoje e se... opa, me perdi! :D"
É, também achei meio complicado DEMAIS...

Enfim, vão aparecer soluções mas, pra que usar um catatau de comandos e você pode resolver em um?

Comando date

Esse comando tem opções pra caralho, mas a que nos interessa é descrita na primeira opção da man do comando date:
-d, --date=STRING
display time described by STRING, not `now'

Essa descrição dele passa batida pelos olhos de muitos de nós. Então, pra facilitar, vai alguns exemplos:

Ontem
date --date="yesterday" +%d-%m-%Y

Dois dias atrás
date --date="2 days ago" +%d-%m-%Y

Três dias atrás
date --date="3 days ago" +%d-%m-%Y

Quatro dias atrás
date --date="4 days ago" +%d-%m-%Y

Cinco dias atrás
date --date="5 days ago" +%d-%m-%Y

Cinco MESES atrás
date --date="5 month ago" +%d-%m-%Y

Cinco ANOS atrás
date --date="5 years ago" +%d-%m-%Y

E por ai vai...

Vocês podem usar como modificadores:
  • days: dias
  • months: meses
  • years = anos
No plural ou no singular (exemplo: day ou days), funcionará

Observem que ele vai contar a partir da data requisitada. Uma lista completa das opções do date vocês podem encontrar nesse link.

Abraço!

0 comentários:

Postar um comentário

Só não vale xingar a mãe ou puxar cabelo nos comentários =)

Posts populares