[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 メーリングリストの案内