파일 크기, 이름 및 날짜를 ​​CSV 파일로 캡처한 다음 이메일을 통해 보내는 쉘 스크립트 및 crontab이 있습니까?

파일 크기, 이름 및 날짜를 ​​CSV 파일로 캡처한 다음 이메일을 통해 보내는 쉘 스크립트 및 crontab이 있습니까?

특정 폴더에 많은 zip 파일이 있습니다. 매일 파일명과 파일 크기를 CSV 형식으로 캡쳐해서 crontab에 넣어서 매일 보고하고 각 보고서에 메일로 보내려고 합니다.

파일 위치 /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

이제 매일 실행하고 매일 준비하는 것과 동일한 CSV를 캡처할 cronjob을 만들고 싶습니다.

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"

CSV 파일을 생성한 후에는 crontab을 통해서도 이메일을 보낼 수 있습니다.

답변1

나는 다음을 사용할 것이다:

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

첨부된 CSV를 이메일로 보내려면 다음을 사용할 수 있습니다.

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

관련 정보