Intereting Posts
Как переадресовать многоадресный трафик между 2-мя различными каналами, используя iptables? Почему U-Boot на Cubox постоянно перезагружается с ошибкой «** Файл не найден /boot.scr **»? Как я могу добавить nohup в набор команд bash? После переноса на systemd Я хочу создать файл под названием «Grocery List» (2 слова в названии этого файла) Переопределение силы дискового пространства Что случилось с моей установкой Arch? Случайный причудливый экран с момента последнего обновления Невозможно объяснить поведение ACL Установка Linux Mint Debian Edition в существующие разделы: на что обратить внимание? Разрешения / право собственности / usr / local / bin Найти имя хоста или IP удаленного сеанса ssh в Solaris SSHFS, похоже, работает, но Sublime + SSHFS не работает? appending & to unrecognized command закрывает вкладку терминала каков канонический способ запуска демона в сценарии инициализации rhel / centos-6? Что заставляет файлы потерять разрешения?

Вызов mailx из колла

У меня была проблема с тем, что gmail блокировал электронные письма, отправленные с помощью mailx. Я решил это, установив соответствующий файл ~ / .mailrc, который выглядит так:

set smtp-use-starttls set nss-config-dir=/home/theuser/.certs set ssl-verify=ignore set smtp=smtp://smtp.gmail.com:587 set smtp-auth=login set smtp-auth-user=xxx set smtp-auth-password=yyy set from="rabbitovh@thehologram.com(Rabbit Server)" 

Итак, теперь, когда я запускаю:

 echo "hi" | mailx xxx@gmail.com 

мои письма отправляются успешно как пользователь и как root.

Теперь я хочу, чтобы cron тоже работал. Я изменил «/ etc / sysconfig / crond», чтобы заставить его использовать mailx, с:

 CRONDARGS="-m /usr/bin/mailx" 

У меня есть ~ / .mailrc setup:

  • /root/.mailrc
  • /home/theuser/.mailrc
  • /etc/.mailrc

Но независимо от того, что я делаю, выход эха не отправляется успешно.

Crontab выглядит (и я проверил, скрипты работают и выполняют свою работу, и эхо, просто cron не отправляет электронные письма):

 MAILTO="xxx@gmail.com" # Every minute check processes are running, restart if necessary and send an email. * * * * * source /home/theuser/.bashrc; global audit_regular # Every day, send an email describing the state of the host and its jobs. 0 5 * * * source /home/theuser/.bashrc; global audit_daily # Every Monday at 7am, archive the logs. 0 7 * * 1 source /home/theuser/.bashrc; global archive_logs 

Кроме того, этот crontab настроен на другом хосте и отправляет письма в порядке.

mailx отправляет почту, если вы передаете ей адрес назначения в командной строке. Когда вы запускаете его без аргументов, он считывает интерактивные команды со своего стандартного ввода. Остерегайтесь, чтобы ваши тесты загружали мусор, который интерпретировался как команды; некоторые из этих команд могут повредить ваши почтовые ящики, рассылать электронные письма и т. д.

Скажите mailx для запуска mailx -t , который ожидает полного электронного сообщения с заголовками на стандартном входе.

Из беглого экзамена не похоже, что вы можете передать команду с параметрами через скрипт запуска crond. Поэтому напишите оболочку оболочки /usr/local/sbin/mailx-t

 #!/bin/sh exec mailx -t 

и поместите CRONDARGS="-m /usr/local/sbin/mailx-t" в /etc/sysconfig/crond .