我在某个文件夹中有许多 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
现在我想创建一个 cronjob 每天运行并捕获我们每天准备的相同 CSV。
例子
测试30052014.csv:
"XXXXX_20140530_0401_28.txt.gz", "9.3","May 30"
"XXXXX_20140530_0401_29.txt.gz", "9.3","May 30"
测试31052014.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