В моем задании 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.