Как превратить эту команду отправки почты из Posfix в Ssmtp?

259
Hsin

Я новичок в суперпользователе, и я застрял, чтобы превратить команду почты из Posfix в Ssmtp. Вот команда, которую я решаю. Большое спасибо заранее.

00 08 * * * tail -10000 /var/log/nginx/mydomain-access.log | awk '$11 !~ /google|bing|yahoo|yandex|mywebsite.com/' | awk '' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Referers for Mydomain.com" me@mydomain.com 
0

1 ответ на вопрос

0
Alex

mailвызова sendmailпрограммы для доставки электронной почты (он может быть заменен postfix, exim, msmtpи другие). В большинстве случаев sendmailэто символическая ссылка, указывающая на нужную вам программу.

Вы можете найти местоположение sendmail, выдав whereis sendmailи переписав его в местоположениеssmtp

Спасибо за совет. 'ssmtp: / usr / sbin / ssmtp / etc / ssmtp /usr/share/man/man8/ssmtp.8.gz' sendmail: / usr / sbin / sendmail / usr / lib / sendmail / usr / share / man / man8 /sendmail.8.gz Hsin 6 лет назад 0
Спасибо за совет. Вот выход. Но я не знаю, как это связано с моим вопросом. Мне нужно изменить этот код для отправки почты с помощью ssmtp. Можешь посмотреть? Огромное спасибо. `00 08 * * * tail -10000 /var/log/nginx/mydomain-access.log | awk '$ 11! ~ /google|bing|yahoo|yandex|mywebsite.com/' | awk '' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s" Лучшие 1000 ссылок на Mydomain.com "me @ mydomain.com`` ssmtp: / usr / sbin / ssmtp / etc / ssmtp / usr / share / man / man8 / ssmtp.8.gz` sendmail: / usr / sbin / sendmail / usr / lib / sendmail / usr / share / man / man8 / sendmail.8.gz` Hsin 6 лет назад 0
Если я вас правильно понимаю, вы хотите использовать `ssmtp` вместо` postfix` и хотите отправлять электронную почту из `cron` с помощью команды` mail`, верно? Если да, то сделайте следующее: `cp -af / usr / sbin / sendmail /usr/sbin/sendmail.bak && ln -sf / usr / sbin / ssmtp / usr / sbin / sendmail`. С этого момента ваша машина будет использовать `ssmtp` вместо` postfix` Alex 6 лет назад 0
Большое спасибо за возвращение для меня. Если на моем хосте Ubuntu не установлен postfix, я не думаю, что смогу запустить команды cp и ln, верно? Я хочу выполнить команду tail и отправить вывод по электронной почте в моем cronjob, и я хочу установить только SSmtp, так как мне нужно только отправить. Как я могу изменить `tail -10000 /var/log/nginx/mydomain-access.log | awk '$ 11! ~ /google|bing|yahoo|yandex|mywebsite.com/' | awk '' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s" 1000 лучших реферреров для Mydomain.com "me @ mydomain.com` СПАСИБО ТАКОЕ. Hsin 6 лет назад 0
Вам не нужно изменять эту строку из `cron`. Единственная команда в этой строке, которая отправляет электронную почту, является последней `mail`, которая по умолчанию использует` sendmail` для доставки сообщений. Если у вас не установлено `posfix`, и вы хотите использовать` ssmtp`, тогда единственное, что вам нужно сделать, это: `ln -sf / usr / sbin / ssmtp / usr / sbin / sendmail` Alex 6 лет назад 0
ОГРОМНОЕ СПАСИБО тебе. Вы просто спасете меня от бессонных ночей. Я не могу поверить, что я пытаюсь в очень неправильном направлении. Опять же, огромное спасибо за то, что вы так щедры. Hsin 6 лет назад 0
Нет проблем, я рад, что помог тебе Alex 6 лет назад 0

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