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

Настройте тему Sendmail с помощью crontab

В моем задании cron выполняется следующая строка:

*/40 * * * * cd /home/qa/prod/seo/casino &&  make testv   2> /dev/stdout | /usr/sbin/sendmail -t xxxx@gmail.com

Как видите, я использую пакет sendmail. Мне не удалось выяснить, как добавить тему в текущее расписание cron.

Я наткнулся на следующее:

echo "Subject: Testing" | cat - /home/file1.out | /usr/sbin/sendmail -t xxxx@gmail.com

Однако я понятия не имею, что делает в этом случае конвейер cat - /home/file1.out и как я могу интегрировать его со своим собственным.

Помощь будет признательна!

cat - /home/file1.out для тела сообщения.

- означает STDIN в данном случае, STDIN для cat.

[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat - file 
Subject: Testing
TESTING TESTING
[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat file 
TESTING TESTING

На самом деле вам это не нужно:

[sgeorge@sgeorge-ld ~]$ cat test 
Subject: Testing
TESTING TESTING
[sgeorge@sgeorge-ld ~]$ cat test | /usr/sbin/sendmail -t xxxxx@xxxxxx.com

Вышеупомянутый метод также будет работать так же, как и приведенный ниже.

echo "Subject: Testing" | cat file | /usr/sbin/sendmail -t xxxxx@xxxxxxxx.com 

Для большего понимания:

[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat file -
TESTING TESTING
Subject: Testing
[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat - file 
Subject: Testing
TESTING TESTING

Так - это просто STDIN Вот.

В - в cat - сообщает cat прочитать содержимое из конвейера и распечатать его в stdout, чтобы echo "Subject:Testing " | cat - /home/files1.out означает объединить «Тема: Тестирование» с содержимым files1.out.