Пытаюсь найти, как регулярно находить любой файл, созданный 1 день назад и имя которого имеет шаблон "performance-team(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@email.com\nSubject:performance latest\n"|(cat - && uuencode $i)|/usr/sbin/ssmtp email@email.com
В crontab моя команда
0 2 * * 2-7 /bin/sh /root/Desktop/fileName/testScript1.sh
Вышеуказанный скрипт testScript1.sh не дает мне точной информации. Я также не могу регулярно запускать его в crontab. Пожалуйста, помогите.
используйте -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
воскресенье-16-октябрь
смотрите man date