Shell script e crontab para capturar o tamanho do arquivo, nome e data em um arquivo CSV e depois enviar via email?

1

Eu tenho vários arquivos zip em uma determinada pasta. Eu quero capturar o nome do arquivo e o tamanho dos arquivos em um formato CSV no dia a dia e colocá-lo no crontab para que eu possa relatar em uma base diária e, em seguida, enviá-lo em cada relatório.

Os arquivos estão em /somedirectory/archive/test :

-rw-rw-r--+ 1 AAAA AAAA 9.3M May  30 17:09 XXXXX_20140530_0401_28.txt.gz
-rw-rw-r--+ 1 AAAA AAAA 9.3M May  30 17:09 XXXXX_20140530_0401_29.txt.gz
-rw-rw-r--+ 1 AAAA AAAA 9.3M May  31 17:09 XXXXX_20140531_0401_01.txt.gz

Agora, quero criar um cronjob para executar todos os dias e capturar o mesmo CSV que preparamos no dia.

exemplo

test30052014.csv :

"XXXXX_20140530_0401_28.txt.gz", "9.3","May 30"
"XXXXX_20140530_0401_29.txt.gz", "9.3","May 30"

test31052014.csv :

"XXXXX_20140531_0401_01.txt.gz", "9.3","May 31"

E depois de gerado o arquivo CSV, eu deveria ser capaz de enviar e-mails também via crontab.

    
por test 31.05.2014 / 09:46

1 resposta

1

vou usar:

find . -maxdepth 1 -type f -exec stat --format=\"%n\",%s,\"%y\" {} \;

e Para enviar um email com o CSV anexado, você pode usar:

find . -maxdepth 1 -type f -exec stat --format=\"%n\",%s,\"%y\" {} \; > output_$(date +%F).csv  && echo "PFA" | mail -s "subject" -a output_$(date +%F).csv
    
por 31.05.2014 / 13:51