非常简单的问题。
我有一个cron作业,每天午夜运行一个mysql查询并生成一个csv文件,说user_analytics_2012-03-11.csv。因此,每天都会使用新的日期戳创建新文件。
我正在尝试设置一个新的cron作业,该作业在此作业之后运行并获取最新的csv文件并通过电子邮件发送给我。
我设法通过硬编码文件名来实现这一点并且工作正常:
mutt -s "Number of users logged in" -a /tmp/user_analytics_2012-03-11.csv example@gmail.com < /tmp/message.txt
现在如何进行此设置以自动获取最新文件。 非常感谢
修改
我尝试了以下操作,似乎有效 - 这是正确的方法。
mutt -s "Number of users logged in" -a /tmp/user_analytics_$(date +\%Y-\%m-\%d).csv example@gmail.com < /tmp/message.txt
答案 0 :(得分:0)
如果您安装了mailx(man mail
用于您系统的详细信息):
mysql_command | mail -s "Number of users logged in" example@gmail.com
这首先绕过创建文件。
答案 1 :(得分:0)
如果您的目录只包含这些文件,最简单的方法是列出内容,按创建/修改日期排序并选择第一个:
mutt -s "Number of users logged in" -a /tmp/$(ls -t | head -n 1) example@gmail.com < /tmp/message.txt