Назад | Перейти на главную страницу

Ошибка отправки электронной почты с вложением через cronjob, но работает в bash

У меня странная проблема. Я использую следующую командную строку для отправки электронного письма с вложением через консоль:

/usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file myemail@gmail.com < /dev/null

Работает как шарм.

Но я хочу, чтобы он был отправлен через cron, поэтому я создал этот cronjob:

@daily root /usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file myemail@gmail.com < /dev/null 

Задача cron выполняется, но выдает следующее сообщение об ошибке:

/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'
/bin/sh: -c: line 1: syntax error: unexpected end of file

Понятия не имею почему. Кто-нибудь сможет помочь? Заранее большое спасибо!

С уважением - А

в crontab вам нужно убежать %с \ так

@daily root /usr/bin/mutt -s "AwStats $(date +\%d.\%m.\%Y)" -a /path/to/file myemail@gmail.com < /dev/null

вероятно, устранит проблему за вас.

В дополнение к ответу Иана, поскольку cron не является bash, вам, вероятно, также потребуется изменить

$(date +\%d.\%m.\%Y)

быть

`date +\%d.\%m.\%Y`

Или вы можете поместить всю свою исходную работу в сценарий bash и вместо этого просто вызвать сценарий.