• ベストアンサー

cronの設定について

cronの設定方法について教えてください。 cronに設定したコマンドが実行されません。 OS Linux 2.6.18-92.el5 #1 SMP Tue Jun 10 18:51:06 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux rootでcrontab -e を実行し次のように記述しました。 * * * * * touch /tmp/cron_test_`date +%Y%m%d%H%M%S` 上記の設定を記述後、念のため「service crond restart」を実行しました。 しかし、/tmp/cron_test_`date +%Y%m%d%H%M%S`は作成されません。 どうしたら良いでしょうか。 ご存知の方、どうか設定方法を教えてください。m(_ _)m

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

  • ベストアンサー
  • heiwa4126
  • ベストアンサー率69% (9/13)
回答No.2

JFのman 5 crontabより引用: 「第 6」フィールド (行の残りの部分) には実行されるコマンドを指定する。その行のコマンド部 (改行文字または % 文字まで) が /bin/sh (またはその crontab ファイルの SHELL 環境変数で指定されたシェル) によって実行される。コマンド中にパーセント記号 (%) がバックスラッシュ (\) によってエスケープされずに置かれていると、改行文字に置き換えられ、最初に現れた % 以降の全てのデータは標準入力としてコマンドに送られる。 なので * * * * * touch /tmp/cron_test_`date +\%Y\%m\%d\%H\%M\%S` が正解。

参考URL:
http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html
usodahei8
質問者

お礼

\を付けたら正常に動作しました!! 有難うございます。m(_ _)m

その他の回答 (1)

  • mainPC
  • ベストアンサー率21% (62/287)
回答No.1

touchにパスが通っていないだけとかですかね? 試しにtouchの内容をシェルに書いて、そのシェルスクリプトをcronに登録してみてはどうでしょうか。