试图找到如何定期查找 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