• ベストアンサー

cronジョブ

D-Matsuの回答

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

ログを随時吐いてるなら、フォアグラウンドにするまでもなくそのログをtailするだけでいいはずですが。

ShiftTail
質問者

お礼

>ログを随時吐いてるなら、フォアグラウンドにするまでもなくそのログをtailするだけでいいはずですが。 なるほど。確かに仰られる通りだと思います。 ただ、バックグラウンド等に切り替えれるのか、そこも知りたかったのです。 申し訳ございませんが、 baは、notnotさんに付けさせていただきたいと思います。 情報ありがとうございました。

関連するQ&A

  • cronジョブ

    cronの実行時間は、/var/spool/corn/ユーザ のファイルで 時間が記述されているので、実行される時間はわかるのですが、 cronで、ある1つのシェルスクリプトが起動した時間から終了までかかった時間を知りたいのです。 (timeコマンド、メール送信による判断は無しでお願いします。) linuxのどこかのログファイルに、cronのシェル1つ1つのジョブの終了時間が記述されている ファイルはないでしょうか?(可能であれば、実行時間もわかるとよいのですが。) ご教授お願いします。

  • CORESERVERでCRONジョブが実行されない

    この手の情報はネット上に沢山あるので自分なりに調べたのですが解決に至りませんでしたので質問させてください。 やりたいことは、CORESERVERのCRONジョブで設定した時間にcron.shを動かしてtest.phpを実行したいです。 ■現状 ・CRONジョブは毎日午前11時に動作するように設定 0 11 * * * ・CORESERVERからCRONジョブのエラーや成功メールが1通も届かない ・Tera Term で直接CRONを実行したが500エラーが返ってくる ・シェルスクリプトで動かしたいPHPファイルに問題はなかった(直接実行して成功) ■やったこと cron.shをCORESERVERのトップディレクトリに設置 /virtual/ユーザー名/cron.sh cron.shに記述した内容は #!/bin/sh #PHP /usr/local/bin/php /virtual/ユーザー名/public_html/サイトディレクトリ/php/test.php exit です。cron.shのパーミッションは705にしました。改行コードはLFです。 test.phpまでのディレクトリのパーミッションも705になっています。test.phpのパーミッションは644です。 Tera Term に入力したコマンド? sh /virtual/ユーザー名/cron.sh 上記を決定すると以下のスターテスが返ってきました。 Status: 500 Internal Server Error Content-type: text/html 何か根本的な間違いをしているのでしょうか? アドバイスをお願いいたします。

  • cronの挙動について

    cronの挙動について教えてください。 現在user「AAA」のcronにシェルスクリプトを登録しています。 コンソールから登録してあるスクリプトが正常に起動できることは確認できております。 しかしcron経由でコマンドが実行できない状態(/var/log/cronにコマンドを実行した履歴は残っています)でした。 色々試したところ、スクリプトの先頭で.bashrc(user「AAA」のもの)をsourceコマンドで実行するようにしたところ、cronからも起動できるようになりました。 (.bashrcには、スクリプト実行に必要な環境変数やパスの設定がされています) そこで質問なのですが、 (1) cronでコマンドを実行する場合、.bashrcは明示的に実行しなければいけないのでしょうか。 cronで実行される場合、ログインした状態と同じ環境で実行されるとばかり思っていたため、見落としていたのですが・・・。 以上、よろしくお願いいたします。

  • シェルスクリプトを途中からバックグラウンドで動かす方法

    フォアグラウンドで起動したシェルスクリプトを、途中から 自動的に バックグラウンドに移行させる方法はないでしょうか。 ユーザーが操作するのなら、もちろん フォアグラウンドで起動→Ctrl Z で中断→jobsでジョブ番号を確認→bg %[ジョブ番号] という手順でできることは知っていますが、 シェルスクリプトが特定の段階まで処理したら自動的に バックグラウンドに移行するようにしたいのです。 たとえば、 #!/bin/sh echo "パラメータを入力してください" read param echo "ここからバックグランドに移行します" #(*) # ここからバックグラウンドに移行して # 処理を行う (バックグランドでやりたい処理) # exit という感じで、処理に必要なパラメーターをターミナルから入力 したいので、最初はフォアグラウンドで起動する必要がありますが、 入力が終わったらあとは邪魔なのでバックグラウンドに回したいのです。 それなら起動時の引数としてパラメーターを与えればいい、と言われ そうですが、パラメーターの数が不定の場合も考えているので、 ターミナル入力が必要なのです。 (*)の部分に jobs; bg %1 などと入れてみましたが line 17: bg: no job control と怒られるだけで、バッググラウンドにはなりませんでした。 指定したPIDのプロセスをバックグラウンドにするような コマンドでもあればうまくいきそうですが、そういう コマンドはないようで、手詰まり状態です。 何かうまい方法がありましたらご教示下さい。 なお、baシェルやCシェルではなく、一番基本的な Bourne Shell で使えるような方法をお願いします。 また、できるだけディストリビューションや OS(Linux、BSD、Solarisなど)の違いにも依存しない 方法をお願いしたいと思います。

  • Cygwin で Ftpを実行するTOOLを cronで実行したい。

    よろしくお願いします。 Cygwinで FTPを使ってUnixのFileを取得するシェルスクリプトを作成しました。 シェルの種類はkshです。 このTOOLをCygwinのcronに仕掛けて自動的にFileを取得するようにしたいのですが、 どうもFTPのところで止まってしまうようです。 Cron設置時にLogを取得したところ 下記のメッセージが出力されていました。   User (10.200.xx.xx(none)) 自分のhomeに.netrc ファイルを作成して、FTP時にはUserID/Passwordを入力しなくて済むようにしているので スクリプトを自分で実行する分には何も入力しなくて言いのですが cron実行時にはなぜかUserIDの入力を促すところでストップし、プロセスも残ってしまっています。 自動的にUserID/Pawwwordを読み込ませるにはどうしたらよろしいでしょうか?

  • cron バリュードメインサーバー

    シェルスクリプト未経験者です。サーバーでcronを使おうと勉強しています。1日に一回30から1を引くcronを作りたいです。 普通にphpとsql文で書いているものは成功している(リロードしたらサーバーのdayカラムから1を引かれる)(dayカラムには初期値で30を入れています)のですが、パスなどを設定をしていてもcronとして動きません。 シェルスクリプトでかかないといけないのでしょうか? 以下の画像は使っているサーバーの注意書です。

  • cronが実行されない

    環境:Vine Linux 2.6CR 現在、毎朝4時に、自分で作成したシェルをcrontabで登録して実行させているのですが、cronが動いてくれません。 psで、crondの実行は確認できています。 それと、cronの登録方法は、crontab -eで登録し、シェルは、/etc/cron.dailyに格納しています。 パスも登録しているのですが、実行してくれません。 どこがおかしいのでしょうか? アドバイスをお願いいたします。

  • バックグランド実行+ログアウトでジョブが残るのは?

    以下のようなシェルをバックグランド実行した後、ログアウトしてもジョブ(プロセス)が残っているのはなぜなのでしょうか? バックグランド実行しても、ログアウトするとバックグランドプロセスはkillされてしまう。だからnohupを使いましょう、、とネットではよく書かれています。自分でこれを検証試みた結果、想定の 動きとならなかったので質問させてもらいました。 以下シェルを 「 ./test01.sh & 」と実行させるのですが、別コンソールでプロセスを監視している限り、最後まで動作し続けるのです。 どなたかおわかりになる方教えてください。 ◇検証用シェル #!/bin/sh echo "start" > ./test01.log for ((i=0 ; i<3 ; i++)); do sleep 60 echo $i >> ./test01.log date >> ./test01.log done

  • cronでシェルスクリプトが実行されない

    Linuxでファイルのバックアップを取るため backup.shというシェルスクリプトを組み、コマンドから実行する場合問題ないことを 確認しています。ところがcronに設定し自動実行すると内容が実行されておりません。 /var/log/cronを確認したところ時間通り実行されているというログは残っています。 /var/spool/cron/にrootというファイルを作成し 00 23 * * * /BACKUP/backup.shを実行させたいのです。 なぜ、手動の場合は問題がないのにcronで設定すると問題が生じるのでしょう? もし、お分かりの方は教えてください。 OSはRed Hat Linux release 8.0 (Psyche)です。

  • シェルスクリプトをローカルで動作させるには

    cronジョブが使えるレンタルサーバーを使用しており、cronジョブから起動するshスクリプトを作ろうと思っています。 そこでシェルスクリプトを簡単に書こうと思っているのですが、プログラムはphpしかわかりません。勉強するためにはローカルで実行できる環境が必要だと思っています。 ネットでよく調べてみたのですが、シェルスクリプトをローカルで動作させる方法がわかりません。コマンドプロンプトから実行できたりしないんでしょうか?