У меня странная проблема. Я использую следующую командную строку для отправки электронного письма с вложением через консоль:
/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 и вместо этого просто вызвать сценарий.