[PHP-users 15092]Re: 指定した時間にメールを送るには
murakoshi ryuuji
muraco @ muraryuu.com
2003年 5月 7日 (水) 15:49:53 JST
しんさん、重松さんアドバイスありがとうございました。
atコマンドを調べてやってみます。
----- Original Message -----
From: "shin ohira" <shin @ ohira.com>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Wednesday, May 07, 2003 11:58 AM
Subject: [PHP-users 15078] Re: 指定した時間にメールを送るには
> はじめまして
>
> at というコマンドを使ってはどうでしょうか?
>
> マニュアルこぴぺしておきます。
>
> AT(1) FreeBSD General Commands Manual
AT(1)
>
> 名称
> at, batch, atq, atrm - あとでジョブを実行させるためのキューの設定、確
認、
> ジョブの削除を行なう
>
> 書式
> at [-V] [-q queue] [-f file] [-mldbv] time
> at [-V] -c job [job ...]
>
> atq [-V] [-q queue] [-v]
>
> atrm [-V] job [job ...]
>
> batch [-V] [-q queue] [-f file] [-mv] [time]
>
> 解説
> at と batch は、標準入力もしくは指定したファイルからコマンドを読み込
み、
> あとで sh(1) を使って実行します。
>
> at コマンドを、引数で指定した時間に実行します。
>
> atq ユーザの、実行待ち状態のジョブのリストを表示します。スーパ
ユーザ
> が実行した場合は全員のジョブが表示されます。
>
> atrm 指定したジョブを削除します。
>
> batch ロードアベレージが特定の値以下になったときにジョブを実行しま
す。
> この値は、デフォルトでは 1.5 です。この値は atrun によって指
定可
> 能です。
>
> at では、様々な形式の時間を time として受け付けます。時刻は HHMM もし
くは
> HH:MM の形で指定します (もしこの時刻が過ぎていた場合は、次の日のその
時刻
> に設定されます)。また、 midnight, noon, teatime (4pm) のキーワードも
受け
> 付けますし、時刻の後ろに AM もしくは PM をつけた時間も受け付けます。
日付
> は、 month-name day およびオプションの year の形で受け付けます。
> DD.MM.YYYY, DD.MM.YY, MM/DD/YYYY, MM/DD/YY, MMDDYYYY, MMDDYY も受け付
けま
> す。日付の指定は時刻の指定の後に記述します。 [now] + count time-units
の
> ような形式で時間を指定することも可能です。time-units は時間の単位で、
> minutes, hours, days, weeks のいずれかです。時間のサフィックスの
today は
> ジョブを今日に設定すること、 tomorrow はジョブを明日に設定することを
意味
> します。
>
> 例えば、今から 3 日後の午後 4 時にジョブを走らせるためには at 4PM + 3
> days とします。7 月 31 日の午前 10 時の場合は at 10am Jul 31 としま
す。明
> 日の午前 1 時は at 1am tomorrow です。
>
> at と batch はどちらも、標準入力または -f オプションで指定したファイ
ルか
> らコマンドを読み込み、実行します。ワーキングディレクトリと環境変数 (
> TERM, TERMCAP, DISPLAY および は除く)、umask は実行時のものが保持さ
れま
> す。 at もしくは batch が su(1) で起動されたシェルから実行された場合
は、
> カレントの userid を保持します。出力結果が得られた場合は、その標準出
力と
> 標準エラー出力がメールで送られます。メールは sendmail(8) を使って送ら
れま
> す。もし at が su(1) で起動されたシェルから実行された場合は、そのログ
イン
> シェルの所有者がメールを受けることになります。
>
> スーパユーザはどんな場合でもこれらのコマンドを実行できます。その他の
ユー
> ザは /var/at/at.allow と /var/at/at.deny のファイルによって at を実行
でき
> るか決められます。
>
> もし /var/at/at.allow が存在するならば、その中にユーザ名を記述された
ユー
> ザだけが at の実行を許可されます。
>
> もし /var/at/at.allow が存在しなければ、 /var/at/at.deny がチェックさ
れ、
> その中にユーザ名が記述されていないすべてのユーザが at の実行を許可さ
れま
> す。
>
> もし両方ともなければ、スーパーユーザだけが at を実行できます。これが
デ
> フォルトの設定です。
>
> 空の /var/at/at.deny は全てのユーザがこれらのコマンドを使用できること
を意
> 味します。
>
> オプション
> -V 標準エラー出力にバージョン番号を出力します。
>
> -q queue
> 指定したキューを用います。キューの名称は単一の文字からなりま
す。
> 有効なキューの名前は a から z と A から Z です。 at のデフォ
ルト
> のキューは c で、 batch のデフォルトのキューは E です。キュー
の文
> 字が後の方であればあるほど nice 値が上がります。もし大文字の
キュ
> ーがジョブに対して指定されたならば、時間を指定して batch が実
行さ
> れたものとして扱われます。もし atq でキューが指定されたとき
は、そ
> のキューだけの実行待ちのジョブを表示します。
>
> -m 出力がなかった場合でも、ジョブの完了時にメールをユーザに送り
ま
> す。
>
> -f file
> 標準入力のかわりにファイルからジョブを読み込みます。
>
> -l atq のエイリアス。
>
> -d atrm のエイリアス。
>
> -b batch のエイリアス。
>
> -v atq の場合は、キューの中の実行されたがまだ削除されていない
ジョブ
> を表示します。さもなければジョブが実行される時間を表示しま
す。
>
> -c コマンドラインにリストされたジョブを標準出力に出力します。
>
> 関連ファイル
> /var/at/jobs ジョブファイルを保管しておくディレクトリ
> /var/at/spool 出力ファイルを保管しておくディレクトリ
> /var/run/utmp ログインレコード
> /var/at/at.allow 許可属性の設定
> /var/at/at.deny 不許可属性の設定
> /var/at/jobs/.lockfile ジョブ作成のロックファイル
>
> 関連項目
> nice(1), sh(1), umask(2), atrun(8), cron(8), sendmail(8)
>
> バグ
> /var/run/utmp が利用できないか不正であった場合、もしくは at が実行さ
れた
> 時にユーザがログインしていない場合、環境変数 LOGNAME で表される
userid に
> メールが送られます。もし定義されていないか空ならばカレントの userid
にな
> ります。
>
> ユーザ同士でリソースの競合がある場合は現実装の at と batch は適当では
あり
> ません。もしあなたのサイトがこのような場合にあてはまるのなら、 nqs の
よう
> な他のバッチシステムを検討してください。
>
> 作者
> at のほとんどの部分は Thomas Koenig <ig25 @ rz.uni-karlsruhe.de> によっ
て作
> 成されました。時間の構文解析部分は
> David Parsons <orc @ pell.chi.il.us> によって作成されました。
>
> FreeBSD 4.7 April 12, 1995 FreeBSD
4.7
>
>
>
>
> murakoshi ryuuji さんは書きました:
> >はじめまして
> >私の環境はOS:Red Hat8.0、mailサーバー:qmail-1.03、PHP:php4.31なのです
が
> >よくスケジュール機能とかにあります指定した時間にメールを送ると言う機能を
つけ
> >たいと
> >思っているのですが、どのようにすればよいかまったくわからなくなってしまい
> >困っております。どなたかそのような機能を作った方いましたら、ご助言よろし
くお
> >願い
> >いたします。
> >______________________________________________________________________
> >
> >_______________________________________________
> >PHP-users mailing list
> >PHP-users @ php.gr.jp
> >http://ns1.php.gr.jp/mailman/listinfo/php-users
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>
PHP-users メーリングリストの案内