• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:crontabのMAILTO設定解除の方法)

crontabのMAILTO設定解除方法

このQ&Aのポイント
  • crontabにて、特定の処理の前でメール送信先を設定し、その処理の後でデフォルトのメール送信先に戻したい場合、どのように設定すればよいでしょうか。
  • crontabでMAILTOを使用してメール送信先を設定する方法はありますが、MAILTOを解除するための具体的な方法はわかりません。
  • Red Hat Enterprise Linux 4環境でのcrontabにおいて、MAILTOを解除する方法について調査しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.3

解除する手段はないと思います。 >crontabのオーナーを設定すればいいのでしょうが、 他の手段としては、オーナーにメールして欲しいcron行を先に書いて、その後で、MAILTO= を書けばいいのでは?

helonpa
質問者

お礼

> 解除する手段はないと思います。 ご回答ありがとうございます。 > >crontabのオーナーを設定すればいいのでしょうが、 > 他の手段としては、オーナーにメールして欲しいcron行を先に書いて、その後で、MAILTO= を書けばいいのでは? そう思います。 でもある程度カテゴライズして並べてある場合が多く、わざわざ移動したりするのは面倒なので、以下のようにしようかと思っています。 MAILTO=変更したメールアドレス * * * * * コマンド MAILTO=crontabのオーナーユーザー名

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

envを使用して、そのコマンドを実行する間だけ環境変数を渡せばよいのでは? env MAILTO="mailto" Command のように。

helonpa
質問者

補足

回答ありがとうございます。 確認しておりませんが、おっしゃる方法でも対応可能であると思います。 ですが、crontab内でわざわざ環境変数の設定を行えるようにしているのであれば、解除の方法があってもしかるべきかと思いまして質問させて頂きました。 マニュアルに記載していないのは、特別に方法は用意されていないのか、それとも一般的に知られ過ぎているのでわざわざ書いていないのかが分からなかったためです。

全文を見る
すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

そこに載ってる方法ではだめなのですか? 0 22 * * 1-5 mail -s "午後10時だ" joe%ジョー、%%お前の子どもはどこだい?% これは(MAILTOで設定したpaul宛ではなく)mailコマンドでユーザーjoeへメールを送るものです /path/to/実行コマンド | /bin/mail -s 'Result' 送り先 みたいにして、実行結果をそのままメールにしてしまうこともできます。

helonpa
質問者

補足

回答ありがとうございます。 記載頂いたうちの後者については、上記の仕様を満たすと思います。 ただ、コマンド出力をcrontabオーナーにメールで送るというcronの標準機能(エラー時のみ出力があるようにする場合が多いと思います)にて、対応できないかと思って質問致しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • crontabについて

    Solaris8を利用していますが、Linuxでいう /etc/crontab のような、cron全体の設定ファイルのようなものはどこにあるのでしょうか? 分かる方がいれば、ご意見お願いします。

  • crontabの設定ができない(編集画面が出ない)

    CentOS5.2を使っています。 crontabの設定を行おうと、 # chkconfig --list crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off で確認後、$ crontab -e  としましたが、 no crontab for aaabbb - using an empty one と出て、編集ファイルが表示されません。 $ crontab -l  とすると no crontab for aaabbb と出、 # crontab -l  も    no crontab for root  となります。   念のため # chmod 777 /etc/crontab としてみましたが、結果は同じです。 $ less /etc/crontab でファイルを開くと ------------------------ SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly /etc/crontab (END) ---------------------- となっています。 Webで設定例を検索すると、no crontab for aaabbb - using an empty one の下に crontab: installing new crontab と出ると記載されているのですが、 私の場合、このような表示や動きは出ませんが、どのようにして crontab を設定していくのでしょうか。どうか宜しくお願いします。

  • crontabの書式について

    レンタルサーバーで運用しているWebサイトで初めてcronを使うことになり、現在以下のcrontabで正常に動作しているのですが、 このcrontabを「出力はresultに保存(常に上書き)、成功にせよエラーにせよメールは送信しない」という設定に変えるにはどうすればよいでしょうか。 #!/bin/sh cd /virtual/[myID]/cron/ wget http://sample.com/test.php

  • fedoraのcrontabについて

    linux初心者です。 今、fedora16で「新Linux/UNIX入門」という本を使って、Linuxを勉強しています。 crontabについて一つわからないことがあります。 本では/etc/crontabに 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly の記述があると書かれてありますが、自分のパソコンで$ cat /etc/crontabを実行してみると SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed となり、記述されているはずのものがありません。 ここではなく、/var/spool/cron/rootの方に記述されているかと思って、その中も見てみたのですが、記述されていそうにありません。 どこにこれは記述されているのでしょうか? いろいろといじくっているうちに、誤って自分で消してしまったのでしょうか? どなたかご回答よろしくお願い致します。

  • crontabのファイルのパス設定

    MacOSXを使っているUNIX超初心者です。 crontabのファイルのパス設定について質問です。 HDDが2台あって、コンソール上ではそれぞれ、 abcd123456:~ maruchan$ abcd123456:disk2 maruchan$ と表示されます(数字等は実際と変えていて、ユーザ名がmaruchanです)。 いつもは、コンソールからdisk2上のプログラムを直接動作させていまして、 abcd123456:disk2 maruchan$ /volumes/disk2/holder/program と打って、disk2/holder中のprogramを動作、その出力はdisk2/holderの中に書き込まれます。 コンソール上でいちいち打つ代わりに、crontabで行おうとして、disk2上にテキストファイルtest.crontabを作り、 00 12 * * * /volumes/disk2/holder/program と入れまして、下記を打ちました。 abcd123456:disk2 maruchan$ crontab test.crontab プログラムは指定時間に動作したのですが、出力が、 abcd123456:~ maruchan$ の中に書き込まれます。 出力は、disk2/holderに書かれるようにしたいのです。 原因はCronの環境設定が下記のデフォルトのままであることなのですが、test.crontab中にどのように環境設定記述をすれば良いのでしょうか? X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=maruchan> X-Cron-Env: <USER=maruchan> X-Cron-Env: <HOME=/Users/maruchan> なお、 HOME=/volumes/disk2/holder 00 12 * * * /volumes/disk2/holder/program としてみたのですが、変更できませんでした。 どうぞよろしくお願いします。

  • crontab -e で作成したファイルはどこに?等

    crontab -e で、viである時間で自動で毎日処理するのコマンドを書きました。 viの:w(上書き保存)で書いたファイルを保存しました。 そのファイル名はcrontab.1508(tmp/crontab.1508)と勝手になっていましたが、 find / -name crontab* をしても出てきませんでした。 確かに、viで:wした時にこの名前で上書き保存されたとおもうのですが・・・。 crontab -lで設定したファイルを確認すると、viで書いたものが出てきますので、ど こかに保存されていると思います。 質問ですが、(1)crontab -e で作成したファイルはどこにいってしまったのでしょうか。 (2)/etcに、/etc/cron.daily、/etc/cron.monthly、/etc/cron.weekly、/etc/cron.d /etc/cron.hourly、とありますが、これらはcrontab -eで作成したファイルと関係あるのでしょうか。 (3)別のマシンにこれらの/etcをコピーすれば同じ処理ができるのでしょうか。 (4)crontabの処理を追加していくには、crontab -e でviを起動し、追加していけばそれでよいのでしょうか。 (5)処理したいファイルを書き、crontab ファイル名 という方法もあるようですが、 この書いたファイルは/etc以下に置いても良いのでしょうか。 (一般的に、/etcはバックアップを取っておく様なので…) 教えてください。おねがいします。

  • Cronの設定ディレクトリについて

    こんばんわ。教えてください。 Cronを設定するディレクトリって複数存在しているのでしょうか? というのは、色んなWebなどで調べたところ以下の3つを確認しました。 これは、すべてCronを指定するためのディレクトリなのでしょうか? それとも、何か違いがあるのでしょうか?もし同一の昨日であれば、 なぜ複数のディレクトリが存在しているのでしょうか? (1)/etc/crontab (2)/var/spool/cron/root (3)/usr/lib/crontab ※ディレクトリが違っている場合には、ご指摘願います。 ご回答を宜しくお願いします。 なお、Linuxに限らずだと思うのですが、今回はLinuxという環境で質問させてください。 確認したOSはRed Hat Linux ES 2.1です。

  • cronの実行結果をメールで受け取りたい

    debian3.1でcrontabに MAILTO=***@***.co.jpを追加しました。 MAILTO=も初めは記載されていなかったので追加しました。 その後postfix2.1.5をインストールしましたが、 cron実行結果が送られてきません。 cron.logやmail.errにもメールに関するエラーは一切ありません。 何の設定が足りないのでしょうか?

  • crontabでのシェル自動実行がNG

    いつも参考にさせてもらっています。 linux(Red Hat Enterprise Linux ES release 3 Apache/2.0.46)上でcrontabを設定したいのですが、 現在うまくいっておりません。 まず、autoindex.shというシェルを/home/foo/scripts/ディレクトレィに作成しました。中身は3行からなっていて #!/bin/sh cd /var/www/html/search/index mknmz -a /var/www/html/test です。telnet上でroot権限を使用し、./autoindex.shコマンド発行で正常に動作しました。 そこで、crontabに以下のように # crontab -l 50 11 * * * root /home/foo/scripts/autoindex.sh と設定したところ、 # more /etc/log/cron Sep 27 11:50:01 intra crond[18280]: (root) CMD (root /home/foo/scripts/autoindex.sh ) とcronは決めていた時間(11時50分)に稼動しているようなんですが、mailを見ると # mail -t From root@XXX.com Wed Sep 27 11:50:01 2006 Date: Wed, 27 Sep 2006 11:50:01 +0900 From: root@XXX.com (Cron Daemon) To: root@XXX.com Subject: Cron <root@hoge> root /home/foo/scripts/autoindex.sh X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> /bin/sh: line 1: root: command not found と、シェルがこけているようです。 何か解決のヒントがありましたら、ぜひ教えていただけないでしょうか。

  • Fedora11 crontab 設定エラー

    Fedora11「crontab -l」が「コマンドが見つかりません」になる。 (Q1) Fedora11で、cron を利用したく動作テストしています。 crontab は、/etc内にあります。 [root@betasei etc]# ls -l crontab* -rwxrwxrwx. 1 root root 420 2011-05-18 10:36 crontab テスト用スクリプトです。 [root@betasei etc]# cat test.sh echo xxxxxxxx gedit crontab で次のように編集しました。 [root@betasei etc]# cat crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin/:/etc/ MAILTO=root HOME=/ # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR #sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed 1 1 * * * /etc/test.sh 設定確認すると、次のようにエラーになります。 [root@betasei etc]# ./crontab -l ./crontab: line 13: 1: コマンドが見つかりません [root@betasei etc]# 1 1 * * * /etc/test.sh ここのところを ./test.sh にしてみたりしてもダメです。 どうしたらよいのでしょうか。 (Q2) ところで、crontabの編集は、ターミナルやろうとして、 crontab -e と実行すると、viか何かの空白編集画面が出ます。 上記 gedit crontab の画面のように初期値が出ません。 gedit crontabで編集してもよいのですね。 (Q3) /etc/crontab は、テキストファイルですね。 でも、このcrontabは実行ファイルですね。 ./crontab -l どうなってるですか。 初歩的な質問ですみません。