查找 1 天前生成的文件,名称具有模式“performance-team(A/B/C-(昨天的日期)”

查找 1 天前生成的文件,名称具有模式“performance-team(A/B/C-(昨天的日期)”

试图找到如何定期查找 1 天前生成的任何文件,并且名称具有模式“性能团队(A/B/C)-(昨天的日期)”。然后从周二到周日凌晨 2 点通过电子邮件将其发送到某个邮件地址?

我当前的脚本“testScript1.sh”如下:

arr=()
#do not know how to include a day before date and team names : A,B or C
arr=($(find /root/Desktop/fileName -maxdepth 1 -name "performance-team*.txt" -mtime 0))

for i in "${arr[@]}"
 do
    echo -e "to:[email protected]\nSubject:performance latest\n"|(cat - && uuencode $i)|/usr/sbin/ssmtp [email protected]

在 crontab 中我的命令是

0 2 * * 2-7 /bin/sh /root/Desktop/fileName/testScript1.sh

上面的 testScript1.sh 脚本没有给我确切的信息。我也无法在 crontab 中定期运行它。请帮忙。

答案1

使用-d日期选项,例如

date -d yesterday

例如

> date
Mon Oct 17 07:36:10 CEST 2016
> date -d yesterday
Sun Oct 16 07:36:17 CEST 2016

也可以使用+%格式

date -d yesterday +%A-%d-%B

10 月 16 日星期日

man date

相关内容