よくあるミスとは? わかりやすく解説

よくあるミス

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/25 14:22 UTC 版)

crontab」の記事における「よくあるミス」の解説

最もよく見られるミス一つは、cron ジョブテストの際に見られるテストの際には、少なくとも2分以上先の時刻実行時刻として指定する必要がある。これはcrontabファイル再読み込みは、編集後の次の分時にのみ行われるためである。例えば、現在時刻12:05である場合crontabファイル再読み込み12:06:01行われるため、次のジョブスケジュールするには少なくとも12:07以降指定する必要がある。これに対処してテストをすぐに行うには、cronサービス自体再起動する方法もある。 crontabからX Window Systemアプリケーション起動するというミス多く見受けられる。この問題は、cronからはX環境実行可能かどうか不明であり、crontab主としてコンソールのみを対象としたプログラムの実行意図しているためもあり、Xの情報受け渡すことができない点にある。これに対応するには2つ方法がある。crontab冒頭DISPLAY=:0.0というような環境変数設定を行うか、アプリケーション実行引数に--display :0.0オプション付けるかである。:0.0 は一例であり、どのディスプレイ出力すべきかは、echo $DISPLAY といったコマンド実行して確認しておく必要がある。 よくあるミスのひとつは、コマンド指定においてエスケープせずに「%」記号を使うことで、これはエスケープする必要がある。 # ミス:1 2 3 4 5 touch ~/error_`date "+%Y%m%d"`.txt この場合デーモンからは右のようなエラーメッセージメール送信される:「/bin/sh: unexpected EOF while looking for `」 以下のように修正すると良い # エスケープしたもの:1 2 3 4 5 touch ~/right_$(date +\%Y\%m\%d).txt 以下も別のよくあるミスのひとつである: # 夏時間移行時に備え59 1 1-7 4 0 /root/shift_my_times.sh 一見すると上記4月第一日曜日午前1時59分にコマンドshift_my_times.shを実行するように見えるが、そうではなく4月1日から4月7日までの毎日、および、4月中の日曜日全て実行されてしまう。 これを書き直すとすれば、以下のようにするのが一つ方法である。 # 夏時間移行備え59 1 1-7 4 * test `date +\%w` = 0 && /root/shift_my_times.sh また、別のミスの例としては、2時間毎にジョブ実行しようとして、以下のように書くと、 # ログファイル日付追加* 0,2,4,6,8,10,12,14,16,18,20,22 * * * date >> /var/log/date.log これは、各偶数時に毎分実行されてしまう。 この意図表現するには以下のようにする: # 毎2時間おきに date コマンド実行0 0,2,4,6,8,10,12,14,16,18,20,22 * * * date >> /var/log/date.log # もっと簡潔に書くと:0 */2 * * * date >> /var/log/date.log

※この「よくあるミス」の解説は、「crontab」の解説の一部です。
「よくあるミス」を含む「crontab」の記事については、「crontab」の概要を参照ください。

ウィキペディア小見出し辞書の「よくあるミス」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「よくあるミス」の関連用語

よくあるミスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



よくあるミスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのcrontab (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS