Ajuda em Função para deletar arquivos

75 views
Skip to first unread message

Nilton OS

unread,
Jun 8, 2016, 5:49:58 PM6/8/16
to golang...@googlegroups.com

Olá pessoal tudo bem, preciso migrar um script em Python para Golang

Tenho uma função que apaga os arquivos e pastas depois X dias

Essa é a função em Python, alguem tem alguma dica para ajudar.
Grato.


def clean_files(BackupDir, DaysToKeep):
    now = time.time()
    filelist = [ f for f in os.listdir(BackupDir) if f.endswith(".gz") ]
    for f in filelist:
        f = os.path.join(BackupDir, f)
        if os.stat(f).st_mtime < now - (DaysToKeep * 86400):
            if os.path.isfile(f):
                os.remove(f)
                log('APAGANDO O ARQUIVO: %s COM MAIS DE %s DIAS ...' %(f, DaysToKeep))

Ronoaldo José de Lana Pereira

unread,
Jun 8, 2016, 6:29:17 PM6/8/16
to golang...@googlegroups.com
Uma sugestão: https://play.golang.org/p/I39nsqahAM - meio que tradução literal + um pequeno "test case".

Disclaimer: não testei em produção! ;-)

Sugiro fazer uma flag "dry-run", que não executa o os.Remove e apenas imprime o que faria.

No play acima, experimente trocar o valor -1 no main por 1, ele não remove nenhum arquivo. Outro teste é criar um diretório que termina com .gz no nome e validar que ele não remove este diretório.

Abraços!

--

---
Você recebeu essa mensagem porque está inscrito no grupo "Golang Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para golang-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Ronoaldo Pereira

Nilton OS

unread,
Jun 8, 2016, 8:16:22 PM6/8/16
to golang...@googlegroups.com
Massa Ronoaldo, vou testar amanha !!!!

Thanks

..............................................................................................
 Nilton OS | Linux Expert 17 years ago | LinuxPro
 The meaning of life is to cross borders
"Cert: LPIC-1, SUSE SCLA, ITILv3 2011"
Reply all
Reply to author
Forward
0 new messages