Как установить Cron для отправки писем?

Спасибо за вашу помощь, но, оказывается, это была ошибка с указаниями. Я оставил комментарий, подробно описывающий мою проблему на странице, и они обнаружили проблему и исправили ее. Еще раз спасибо за то, что нашли время, чтобы помочь мне с моей проблемой.

3
задан 4 April 2018 в 00:05

6 ответов

Для этой цели система должна иметь возможность отправлять электронные письма. Таким образом, вы можете установить и настроить postfix:

sudo apt install postfix
. Для общего типа конфигурации почты выберите «Интернет-сайт», если вы хотите выполнить более подробную настройку, используйте команду:
sudo dpkg-reconfigure postfix
8] установить и настроить postfix Все, что обычно выводится в STDOUT (если вы выполняете команду в командной строке), включая все сообщения об ошибках, будет отправлено в локальный почтовый ящик пользователь, который запускает Cronjob.

Расположение почтовых ящиков локального пользователя по умолчанию - /var/mail/. Вы можете установить почтовый клиент командной строки mutt для удобного чтения почтового ящика вашего пользователя через командную строку:

sudo apt install mutt
Для общей конфигурации почты выберите «Интернет-сайт», если вы хотите сделать более подробную конфигурацию, используйте команду:
sudo dpkg-reconfigure postfix

Вы можете изменить почтовый ящик назначения по умолчанию, изменив значение envvar MAILTO в crontab, до определение Cronjob. Обратите внимание: если вы не включили SSL / TLS-сертификат в своей почтовой конфигурации, большинство публичных почтовых серверов каким-то образом игнорируют ваши электронные письма. Например, mail.google.com помещает их в спам.

Как только ваша система сможет отправлять электронные письма, вы должны Вы можете изменить почтовый ящик назначения по умолчанию (например, добавьте -v к команде rm) и должен установить правильное значение MAILTO. Итак, ваш crontab должен выглядеть так:

MAILTO="example.email@gmail.com"
* * * * * find /nfs/rpiggott/complete -mtime +45 -exec rm -v {} \;

Другой подход - создать скрипт (который будет выполнен через crontab), который включает в себя вашу команду и использует mail, mutt, ssmtp или sendmail для отправки сообщений электронной почты. См. Нижнюю часть ссылок для более подробной информации.

Ссылки и дальнейшее чтение:

Для общего типа конфигурации почты выберите «Интернет-сайт», если вы хотите сделать более подробную конфигурацию, используйте команду :

Как установить и настроить Postfix на Ubuntu 16.04 Поддержка Postfix TLS Как отправить почту из командной строки? 5 способов отправки электронной почты из командной строки Linux
2
ответ дан 22 May 2018 в 11:40
  • 1
    Недавние изменения find также распознают знак + вместо \;, т. Е. [F4] (вместо find … -exec rm -v {} \;. В зависимости от количества файлов это сильно улучшит производительность: с \; команда rm запускается один раз для каждого файла (т.е. 1000 раз для 1000 файлов), тогда как вариант + будет запускать rm с таким количеством имен файлов, как параметр, как вписывается в командную строку (т. е. он вызовет [ f10] только два раза, один раз с 800 файлами и второй раз с 200 файлами). – PerlDuck 1 April 2018 в 19:19
  • 2
    (продолжение) Недостатком может быть неспецифические сообщения об ошибках, такие как rm [800 filenames]: failed, тогда как \; поможет лучше идентифицировать ошибку, поскольку дается только одно имя файла. – PerlDuck 1 April 2018 в 19:22
  • 3
    Я просто проверил разницу между выходами, когда \; или + задействованы, когда используется -exec rm -v {}, выход идентичен, поэтому, вероятно, + является лучшим выбором. @PerlDuck – pa4080 1 April 2018 в 19:27
  • 4
    Я думаю, что реальная разница возникает, когда есть ошибки. Однако, если у вас (или OP) есть только несколько файлов для обработки (& lt; 100), то нет существенной разницы, я думаю. – PerlDuck 1 April 2018 в 19:29

Для этой цели система должна иметь возможность отправлять электронные письма. Таким образом, вы можете установить и настроить postfix:

sudo apt install postfix . Для общего типа конфигурации почты выберите «Интернет-сайт», если вы хотите выполнить более подробную настройку, используйте команду: sudo dpkg-reconfigure postfix

установить и настроить postfix Все, что обычно выводится в STDOUT (если вы выполняете команду в командной строке), включая все сообщения об ошибках, будет отправлено в локальный почтовый ящик пользователь, который запускает Cronjob.

Расположение почтовых ящиков локального пользователя по умолчанию - /var/mail/. Вы можете установить почтовый клиент командной строки mutt для удобного чтения почтового ящика вашего пользователя через командную строку:

sudo apt install mutt Для общей конфигурации почты выберите «Интернет-сайт», если вы хотите сделать более подробную конфигурацию, используйте команду: sudo dpkg-reconfigure postfix

Вы можете изменить почтовый ящик назначения по умолчанию, изменив значение envvar MAILTO в crontab, до определение Cronjob.

Обратите внимание: если вы не включили SSL / TLS-сертификат в своей почтовой конфигурации, большинство почтовых серверов будут каким-то образом игнорировать ваши электронные письма. Например, mail.google.com помещает их в спам. Если это экземпляр сервера, и у вас уже есть сертификат SSL / TLS для основного домена, следуйте этому прекрасному руководству, чтобы прикрепить его к Postfix.

Как только ваша система сможет отправлять электронные письма, вы должны измените почтовый ящик назначения по умолчанию (например, добавьте -v в команду rm) и установите правильное значение MAILTO. Поэтому ваш crontab должен выглядеть так:

MAILTO="example.email@gmail.com" * * * * * find /nfs/rpiggott/complete -mtime +45 -exec rm -v {} \;

Другой подход заключается в создании скрипта (который будет выполнен через crontab), который включает в себя вашу команду и использует mail, mutt, ssmtp или sendmail для отправки сообщений электронной почты. См. Нижнюю часть ссылок для более подробной информации.

Ссылки и дальнейшее чтение:

Для общего типа конфигурации почты выберите «Интернет-сайт», если вы хотите сделать более подробную конфигурацию, используйте команду :

Как установить и настроить Postfix на Ubuntu 16.04 Поддержка Postfix TLS Как отправить почту из командной строки? 5 способов отправки электронной почты из командной строки Linux
2
ответ дан 17 July 2018 в 17:41

Для этой цели система должна иметь возможность отправлять электронные письма. Таким образом, вы можете установить и настроить postfix:

sudo apt install postfix . Для общего типа конфигурации почты выберите «Интернет-сайт», если вы хотите выполнить более подробную настройку, используйте команду: sudo dpkg-reconfigure postfix

установить и настроить postfix Все, что обычно выводится в STDOUT (если вы выполняете команду в командной строке), включая все сообщения об ошибках, будет отправлено в локальный почтовый ящик пользователь, который запускает Cronjob.

Расположение почтовых ящиков локального пользователя по умолчанию - /var/mail/. Вы можете установить почтовый клиент командной строки mutt для удобного чтения почтового ящика вашего пользователя через командную строку:

sudo apt install mutt Для общей конфигурации почты выберите «Интернет-сайт», если вы хотите сделать более подробную конфигурацию, используйте команду: sudo dpkg-reconfigure postfix

Вы можете изменить почтовый ящик назначения по умолчанию, изменив значение envvar MAILTO в crontab, до определение Cronjob.

Обратите внимание: если вы не включили SSL / TLS-сертификат в своей почтовой конфигурации, большинство почтовых серверов будут каким-то образом игнорировать ваши электронные письма. Например, mail.google.com помещает их в спам. Если это экземпляр сервера, и у вас уже есть сертификат SSL / TLS для основного домена, следуйте этому прекрасному руководству, чтобы прикрепить его к Postfix.

Как только ваша система сможет отправлять электронные письма, вы должны измените почтовый ящик назначения по умолчанию (например, добавьте -v в команду rm) и установите правильное значение MAILTO. Поэтому ваш crontab должен выглядеть так:

MAILTO="example.email@gmail.com" * * * * * find /nfs/rpiggott/complete -mtime +45 -exec rm -v {} \;

Другой подход заключается в создании скрипта (который будет выполнен через crontab), который включает в себя вашу команду и использует mail, mutt, ssmtp или sendmail для отправки сообщений электронной почты. См. Нижнюю часть ссылок для более подробной информации.

Ссылки и дальнейшее чтение:

Для общего типа конфигурации почты выберите «Интернет-сайт», если вы хотите сделать более подробную конфигурацию, используйте команду :

Как установить и настроить Postfix на Ubuntu 16.04 Поддержка Postfix TLS Как отправить почту из командной строки? 5 способов отправки электронной почты из командной строки Linux
2
ответ дан 23 July 2018 в 18:33

Я использовал довольно простой способ получить cron для отправки электронных писем: резервное копирование Linux, скриптов и документов в Gmail.

Самый простой способ автоматизировать отправку электронной почты

Из 1] Резервная конфигурация Linux, сценарии и документы в Gmail , мы находим самый простой способ отправки электронной почты с терминала или сценария. Шаги установки прямолинейны:

sudo apt install ssmtp
sudo nano /etc/ssmtp/ssmtp.conf
# Change "MyEmailAddress" and "MyPassword" to your own.

Существует один шаг, о котором не упоминалось; Google отправит вам электронное письмо с подтверждением того, что вы хотите разрешить «менее безопасное» приложение отправлять почту с вашей учетной записью:

Есть некоторые потенциально неблагоприятные побочные эффекты. Например, каждый раз, когда вы вводите свой пароль sudo, вы получите электронное письмо:

1
ответ дан 22 May 2018 в 11:40

Я использовал довольно простой способ получить cron для отправки электронных писем: резервное копирование Linux, скриптов и документов в Gmail.

Самый простой способ автоматизировать отправку электронной почты

Из Резервная конфигурация Linux, сценарии и документы в Gmail , мы находим самый простой способ отправки электронной почты с терминала или сценария. Шаги установки прямолинейны:

sudo apt install ssmtp sudo nano /etc/ssmtp/ssmtp.conf # Change "MyEmailAddress" and "MyPassword" to your own.

Существует один шаг, о котором не упоминалось; Google отправит вам электронное письмо с подтверждением того, что вы хотите разрешить «менее безопасное» приложение отправлять почту с вашей учетной записью:

Есть некоторые потенциально неблагоприятные побочные эффекты. Например, каждый раз, когда вы вводите свой пароль sudo, вы получите электронное письмо:

1
ответ дан 17 July 2018 в 17:41

Я использовал довольно простой способ получить cron для отправки электронных писем: резервное копирование Linux, скриптов и документов в Gmail.

Самый простой способ автоматизировать отправку электронной почты

Из Резервная конфигурация Linux, сценарии и документы в Gmail , мы находим самый простой способ отправки электронной почты с терминала или сценария. Шаги установки прямолинейны:

sudo apt install ssmtp sudo nano /etc/ssmtp/ssmtp.conf # Change "MyEmailAddress" and "MyPassword" to your own.

Существует один шаг, о котором не упоминалось; Google отправит вам электронное письмо с подтверждением того, что вы хотите разрешить «менее безопасное» приложение отправлять почту с вашей учетной записью:

Есть некоторые потенциально неблагоприятные побочные эффекты. Например, каждый раз, когда вы вводите свой пароль sudo, вы получите электронное письмо:

1
ответ дан 23 July 2018 в 18:33

Другие вопросы по тегам:

Похожие вопросы: