RedHat8.0です。
あるユーザで、
[/etc]$ crontab -e
を実行し、
---------------------------------------
SHELL=/bin/csh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/bat
HOME=/home/user
#
0 0-23 * * 1-5 /bat/sync.csh p1 p2 p3
---------------------------------------
:
のような設定をしているのですが、
毎時00分の実行が行われません。
試しに、
0-59/1 0-23 * * 1-5 /bat/sync.csh p1 p2 p3
のように書いて、しばらく様子をみていましたが、
毎分ごとの起動もされませんでした。
「crontab: installing new crontab」のメッセージも返って来ています。
/bat/sync.csh には、実行権はついており、
単独で走らせると
$ /bat/sync.csh p1 p2 p3
:
動作します。
(p1, p2, p3 は引数を表現しています)
更に、
[/etc]$ ps -aux
:
root 489 0.0 0.0 1520 644 ? S Jan28 0:00 crond
:
root 21138 0.0 0.0 1520 672 ? S 23:20 0:00 CROND
:
などになっています。
何か、他の設定が必要なのでしょうか。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
環境変数 HOSTNAME が定義されていないからですね。
cshでは未定義環境変数を参照するとエラーです。
crontab 環境ではほとんどの環境変数が定義されません。crontabファイル中で、PATH等を定義されていたのでそのあたりはご存知かと思っていました。
HOMEと、SHELL=/bin/sh PATH=/usr/bin:/bin くらいだったかな。
何度もありがとうございました。
見よう見まねで書いていたスクリプトのため、
>> crontab 環境ではほとんどの環境変数が定義されません。
ということが分かりませんでした。
勉強になりました。ありがとうございました。
No.2
- 回答日時:
>このcronファイルの中には、先ほどのuserの実行結果がrootの結果とともに刻一刻と入っていました。
ログに残っているということは実行されているのでは?
>それでも、userでバッチが動いていない理由とすると・・・
動いていないと判断した理由は何ですか?
ls -lu /bat/sync.csh
で、参照タイムスタンプをみるとどうなってますか?
夜遅くにありがとうございました。
いろいろと試してみて、解決できました。
ls -lu では、そのバッチの参照タイムスタンプは随時更新されていっていました。
もともと動いていないと判断したのは、そのsync.batの中で
ログファイルを吐き出させるようにしていたためなのですが、そのログファイル名、
#!/bin/csh -f
:
set me=$0
set LOG="/tmp/$me:t.$HOSTNAME.log"
のようにしているところがあり、
この"set LOG"の行でNG(その行から後ろが実行されていない)になっていました。
コマンドラインから実行した場合には上手く動いていたのですが、cronから呼び出すと動かなかったようです。
set LOG="/tmp/$me:t."`hostname`".log"
こんな風に書き換えることで、crontabの設定からでも
動きました。
初歩的なことでお騒がせしました。
明確な理由は分からないですが、とりあえず動きました。
ありがとうございました。
No.1
- 回答日時:
ログは正常にのこっていますか?
rootでcronを登録してちゃんとうごきますか?
この回答への補足
夜遅くにありがとうございます。
rootユーザでは同じようにcron設定すると動きました。
ログが残っている場所はどこでしょう?
すみません、ログの場所は、
root[/var/log] ls -l cron*
-rw------- 1 root root 32059 3月 8 00:49 cron
-rw------- 1 root root 24955 3月 5 04:02 cron.1
ですね。
このcronファイルの中には、先ほどのuserの実行結果がrootの結果とともに刻一刻と入っていました。
それでも、userでバッチが動いていない理由とすると・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- 経済学 経済学のベルトラン均衡について教えてください。 4 2022/11/23 16:37
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
自動パスワード入力でscpするス...
-
crontabでsql/plusの起動
-
crontabで実行されない部分があ...
-
cronでPHP実行
-
sudoでシェルスクリプトを実行...
-
crontabでjavaだけが上手く動い...
-
UNIXのbashエラーでnot a valid
-
cron設定で正常に動作しない
-
クーロンでシェル実行、JAVAコ...
-
cronでifconfigコマンドを使用...
-
JAVAをバックグラウンドで実行...
-
cronでの処理が途中で中断終了...
-
主モニタと副モニタを切り替え...
-
デフォルト値のパラメータ展開
-
ロケールをutf8からsjisにする...
-
Cシェルのかっこいいプロンプト...
-
Linuxでシェルスクリプトがフル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
Linux 月を英語表示したい
-
シェルスクリプト実行で”そのよ...
-
自動パスワード入力でscpするス...
-
crontabでsql/plusの起動
-
cronの@rebootでのdateコマンド...
-
Linuxで自作バッチファイルの置...
-
bad interpreterで、シェルが使...
-
ロケールをutf8からsjisにする...
-
sudoでシェルスクリプトを実行...
-
hp-uxで時間(時計)を合...
-
Homebrewをインストールしたの...
-
Cronジョブの終了時刻を簡単に...
-
シェルスクリプトで標準エラー...
-
Linuxでシェルスクリプトがフル...
-
apachectl start command not f...
-
Bシェルで文字列が日付として正...
-
WIN10(MAC-bootcamp)で 起動時...
-
JAVAの環境変数が初期化されて...
おすすめ情報