▼スレッド
│
└◇2596:Re:cronがサービスだと動かない [discypus] 11/26 22:47
└◇2603:Re[2]:cronがサービスだと動かない [うえだ] 11/29
└◇2605:Re: cronがサービスだと動かない [discypu] 11/30
└◇2611:Re[2]: cronがサービスだと動かない [うえだ] 12/02 <
追試してませんが、/usr/*.exe に対して、chmod a+x ではスレッド一覧
いかが?
ようするに、サービスが動作するアカウント
(=SYSTEM アカウント) に対して、
/bin/*.exe が実行権限を持っていないと思ったので。
ヒントをありがとうございます。なるほどサービスとして起動する場合は「SYSTEM」ユーザーが起動したことになるのですね。スレッド一覧
さっそくchmod a+xで実行権限を付与してみました。ls -lではちゃんと実行権限が全ユーザーに付いたことも確認できました。念のためサービスを停止して削除してから再度サービスを追加・起動しました。
が、やっぱり実行されませんでした。現象は前と同じく「cygrunsrv --start cron」ではエラーがおきず、「ps」で見ても起動しているように見えるが、書いた処理が時間になっても実行されません。
ひょっとしてこのSYSTEMユーザーでcronをインストールしてやればうまくいくのではないかと思いつきました。
が、「su」はどうもcygwinでは使えないようですね。「login」でログインできそうだと思ったのですが、パスワードがわからず、この案は使えませんでした(windowsのすべてのユーザーのパスワードを試したのですがだめでした)。
せめてログにエラーでも出ていれば手がかりになるのですが、「[5744] cron started」と書いてあるきりで役に立ちません。
実行権限やユーザー周りでまた試行錯誤してみます。
あれからちょっと試してみました。ここに投稿するのスレッド一覧
忘れてました…もうしわけない。
http://discypus.jp/pukiwiki/pukiwiki.php?Cygwin%2Fcron
どうも、chmod a+x は関係ないようです(なぜだろう…)
あと、イベントビューアでアプリケーションログを見れば、
なにかしらエラーメッセージが残ってるかも知れません。
教えていただいたサイトに行ってみました。スレッド一覧
私がやったのと違うところはcygrunsrvにインストールするところのオプションだけだったので、cronサービスを終了してからやってみたのですが、やはり実行されませんでした。現象は前と同じく「cygrunsrv --start cron」ではエラーがおきず、「ps」で見ても起動しているように見えるが、書いた処理が時間になっても実行されません。
ほかにイベントビューアを見てみましたが、エラーっぽいものは見当たりませんでした。
しょうがないので、サービスとして起動することはあきらめて、単独では起動するので、シェルスクリプトを使って、windowsのスタートアップに
c:\cygwin\bin\bash -f /usr/local/etc/startcron.sh
と書いたバッチファイルを登録することで対処しました。これだとサービスにはならないですが、ちゃんと動いているので、いちおう目的を達することができました。
自分の業務を楽にするだけの目的で、人に配ったりする予定はないので、また新たなトラブルが出てくるまではこれでお茶を濁そうと思います。
ありがとうございました。