私はFreeBSD 11.0-RELEASEを実行しています。
デフォルトでは、cronはユーザーの電子メールを送信するために使用されます/usr/lib/sendmail
。代わりにcronを使用するように指示/設定できますか/bin/mail
?
FreeBSDはPaul Vixieのcronバージョンを使用しているため、この-m
オプションは使用されるメールプログラムではなくEメール受信者を設定します。
# make config
FreeBSDソースコードをダウンロードして/usr/src/usr.sbin/cron/
ofcでコマンドを試しましたが、設定が定義されていないため動作しません。しかし、今後のアップデートはこれを簡単に無視できるので、これは悪い考えだと思います。
ご協力ありがとうございます!
答え1
cron
デフォルトでは、このコマンドはシステム全体のマクロ値を_PATH_SENDMAIL
拡張子として使用して、ジョブによって生成されたメッセージを送信するために使用されますMAILCMD
。他のメーラーを使用するには、Makefileを変更してMAILCMD
マクロにMAILARGS
適切な値を定義する必要があります。ソースツリーのMakefileには、可能な値を記述するコメント定義が含まれていますが、MAILARGS
次のように定義されたときに適用されるマクロに小さなバグがあるようです。 2つの文字列拡張子がありますが、呼び出し時に1つの文字列のみを受け取るので、パッチではデフォルトで、最初の拡張子を削除しました。MAILCMD
/bin/mail
ユーティリティがインストールされている場合patch
(そうでない場合はポートにあります)、適用します。今回のパッチ(相対的/usr/src/usr.sbin/cron
)とcronのビルド/インストール:
% cd /usr/src/usr.sbin/cron
% make
% make install
cronを再起動するとすぐに使用できます/bin/mail
。このパッチバージョンは私のシステム(11-STABLE)で完全にビルドされていますが、デフォルトバージョンの代わりに試してみませんでした。 FreeBSDでは/usr/lib/sendmail
。
答え2
使用される実際のパスはに定義されていますcron
。これは通常シンボリックリンクです。/usr/sbin/sendmail
/usr/include/paths.h
メール包装紙(8)。
すべてのアプリケーションのデフォルトの動作を変更して変更できます/etc/mail/mailer.conf
。バラよりメーラー.conf(5)もっと学ぶ。
もちろん、/bin/mail
同様のセマンティクスが必要であり、システム全体の基本的な動作sendmail
変更に適応できる必要があります。sendmail