{希哲15年4月23日の開発}{録化}{デルン出力録整備}{1,000行}{デルン出力録}{deln.log.2}{deln.log}{異常終了}{希哲15年4月23日の進捗時限}{希哲15年4月23日の進捗}...=}(60)

{希哲15年4月23日8歩 K#F85E/A-E74C-B2F4}

デルン出力録整備

いったん終了。

delndeln.fcgi起動する際,deln.log出力を書き出すようにし,deln 実行の度に起動中であれば tail を使い最新1,000行に縮め,再起動時には deln.log の内容を deln.log.2上書きするようにした。

自動再起動のため deln は cron で毎秒実行されるようになっているので,異常終了時に直近の出力簡単確認出来るようになった。


deln.fcgi出力手定め環境では常に表示させているが,本番環境では cron 任せだったため確認手段が無かった。過去にも何度か録化は試みていたが,周辺実装の激しい変化削除されていた。

それでも大抵の問題は大体見当が付いていたが,KNEST 認証不具合反省第三次宣伝攻勢への備えのため,ここで整備することにした。

KNEST 認証不具合はまだ原因推定しやすかったから良かったものの,大規模集客が始まれば,本番環境特有の握接高負荷状況での不具合多発予想される。


実装はごく簡単に,deln に数行の追加で済んだ。

デルン出力録ウェブ捌き握接録より詳細だが,個人情報保護制危観点からあまり広範囲長期間保存したくない。

それ以前に,放っておけばあっという間にディスク容量を食い尽くしてしまう。

不具合調査必要なだけ /tmp/ 以下に保存しておくことにした。

=}
{kt_main.sh}{Iti/ の削除済み譜類}{Iti/}{cron}=}(4)
{.d}{cron}=}(2)
{/usr/sbin}{cron}=}(2)
{run-parts}{crontab -l}{crontab -e}{cron}{広告付き}=}(5)

{cron の設定 K#F85E/A-A8F5}

(記述時の環境: Slackware 12.1

編集 (crontab -e) 用エディタの設定

環境変数 EDITORVISUAL にコマンド名を登録する (既定は ed)。

emacsclient などを指定すれば Emacs で編集できる。

一般に EDITOR での説明が多いが、VISUAL でないと有効にならない事もある (Slackware など)。

設定ファイル

/etc/crontab (共通設定、使用者名を含めた 7 項目で構成される),Slackware では標準で存在せず、RedHat 系では直接編集することは非推奨。

/var/spool/cron/crontabs/<使用者名> (個別設定、使用者名を省いた 6 項目で構成される)

/etc/cron.hourly/ (毎時実行されるスクリプトを置く)

/etc/cron.daily/ (毎日実行されるスクリプトを置く)

/etc/cron.weekly/ (毎週実行されるスクリプトを置く)

/etc/cron.monthly/ (毎月実行されるスクリプトを置く)

/etc/cron.d/ (共通設定、crontab と同じ書式のファイルを置く),(?)ファイル分割管理のために用意されている。Slackware では標準で存在しない。

アクセス制御

/etc/cron.allow

存在すれば,記述された使用者のみが使用可(cron.deny の有無に関わらず)。中身が空なら,管理者のみが使用可(cron.deny の有無に関わらず)。

/etc/cron.denny

存在すれば,記述された使用者以外使用可(cron.allow が無ければ)。中身が空なら,全使用者が使用可(cron.allow が無ければ)。

両ファイルが存在しなければ,全使用者が使用可能。

コマンド

crontab -e

実行使用者に固有の設定を編集する (/etc/crontab から使用者を指定する欄が省かれた書式)。

/var/spool/cron/crontab.<数字> という一時ファイルを編集する。

編集終了後、同階層の crontabs 以下に使用者名で保存される。

crontab -l(設定内容を表示)

TIPS

エラー

エラーはメールで通知されるので,mail コマンドで確認できる。

絶対時間ではなく間隔で指定する

例えば 10 分間隔であれば、

0/10

0時から12時までの間に、3時間おきに実行したければ

0-12/3

というように、<時間範囲>/<間隔> で指定する。

run-parts の併用

run-parts コマンドを併用することで,指定ディレクトリの実行ファイルを名前順に実行できる。

注意点

環境変数は殆んど設定されていない。PATH も /bin, /usr/bin ぐらいにしか通っていない。環境変数の設定が必要ならば内容はスクリプトに記述し,cron にはスクリプトを設定する。

設定ファイルの最後に必ず改行を入れる。これを忘れると,cron がコマンド名を最後まで正常に読みとれず,コマンドが見つからないというメールが使用者に送られる。

実行環境が通常とやや異なる。X アプリではホスト・ディスプレイ番号を指定する必要がある。「firefox –display=localhost:0.0」など。

「1分毎」は /1 ではなく である。

=}
{cron}
{}