• ベストアンサー

シェルの書式?

お世話になってます。 早速ですが、iOfficeV3に着いてなのですが、予定通知なるものを使うためにシェルを作成してCRONで自動実行する必要があるようなのですがメーカさんの説明では、いまいちわかりづらいので、もし、使用されている方がおられましたら、方法を教えていただきたいのですが・・・。 環境  OS:TurboLinux Server6.5  シェル:bash  

noname#2048
noname#2048

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

  • ベストアンサー
  • tailkuppa
  • ベストアンサー率53% (52/98)
回答No.1

使っている者ではないので、間違っているかも知れませんが...。 http://www.neo.co.jp/ioffice/support/install/scheduler.html#action2 の内容(メーカーの説明ってこれですよね?)を意訳してみました。 これでお分かりになるでしょうか? (1) 適当なテキストエディタを立ち上げて、 /home/ioffice/scheduler /usr/local/www/cgi-bin/ioffice 60 の一行だけのテキストファイルを "scheduler.sh" という名前で保存します。 これが「予定通知プログラム」になります。 (2) 次に、そのファイルが実行できるように実行属性を付けます。 $ chmod a+x scheduler.sh $ (3) で、適当なディレクトリ上にそのファイルを置きます。 $ mv /tekitou/na/basho ←どこでもいいです。 $ (4) 定時起動させるための設定をします。 $ crontab -e このコマンドを起動すると、自動的にエディタが立ち上がります。 たいていの場合は vi エディタが立ち上がると思いますが、 立ち上がるエディタを 環境変数EDITOR で変えることが出来ます。 例えばemacs に変える場合は、 $ EDITOR=/usr/bin/emacs; export EDITOR $ した後に、crontab -eを起動すれば、emacs で編集が可能になると思います。 (bash は bsh 系列になりますので、 exportを使います。) で、エディタが起動したら、 (分) (時) (日) (月) (曜日) /tekitou/na/basho/scheduler.sh のような行を追加してください。 何も書いていないかも知れませんが、その場合は最初に入力することになります。 数字どうしや、数字とファイル名の間はスペースを空けてあればOK です。 (時) は24時間で指定、曜日は0を日曜として、1が月曜... のように0から6の間で指定してください。 特に指定しない曜日/月/時/分/秒は * とします。 また、複数の時間を指定したい場合は、その数字をカンマで区切ると指定可能です。 例えば、月曜から金曜の9:00 と21:00 に予定通知する場合は、 0 9,21 * * 1,2,3,4,5,6 /tekitou/na/basho/scheduler.sh 一日おきの12:34に実行する場合は、 34 12 */2 * * /tekitou/na/basho/scheduler.sh のように指定できます。 エディタで保存して、終了すれば設定OK です。

参考URL:
http://www.neo.co.jp/ioffice/support/install/scheduler.html#action2
noname#2048
質問者

お礼

大変おそくなり申し訳ございません。 お恥ずかしいことに、crontb -eを使用せずに、viでconfを直接編集したために動作しなかったようです。今後は、シェルの勉強もしつつ精進したいと思います。 ありがとうございました。

noname#2048
質問者

補足

ありがとうございます。 参考URLですが、ヘルプをたどり、そのとおりにやっては見たのですが、うまくいきませんでした。 /home/ioffice/scheduler /usr/local/www/cgi-bin/ioffice 60 ですが、パスが違うのは修正してはいます。 で、  schedulerは、実行可能ファイルが、あったので実行させるんだなとわかるのですが、ブランクあけての/usr/local/www/cgi-bin/ioffice 60が、何を意味しているのかが、よくわからない状況です。iofficeというフォルダは存在はするのですが、ファイルはないようなもので。

関連するQ&A

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

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

  • シェルスクリプトについて

    とあるUNIXサーバが1台あるとします。 でそのマシン上の管理プログラムが同一マシン上にある 「シェルスクリプト(bash)」をキックするとします。 となるとそのシェルスクリプトの実行者(?)は Unixにログオンしているユーザーになるのでしょうか?。 目的としてはそのログインしているユーザーの環境変数 をシェルから参照したいのですが・・ 考え方がWindowsなもので。。すみませんが よろしくお願いします。

  • シェルスクリプト間で排他をとりたい

    環境 linux(redhat) 使用シェル bash シェルスクリプトAとシェルスクリプトBを作成し、 シェルスクリプトAが動作している間は、シェルスクリプトBの動作を禁止したいと考えています。 例えば、シェルスクリプトAが起動している状態で、シェルスクリプトBが起動されたとき、シェルスクリプトBは、シェルスクリプトAが起動していることを検知して、自発的に処理を終了するようにしたいと考えています。 上記のような仕組みをシェルスクリプトで実現可能でしょうか? 基本的には、シェルスクリプトの先頭で、ある資源のロックを行い、終了時にロックの解放ができれば、その仕組みは実現可能と考えています。 (シェルの異常終了時は、ロックが自動的に解放されることが望ましい) 上記のようなことをシェル(bash)で実現可能でしょうか。 bash単独での方法、もしくはbashからperl,C言語作成の実行モジュールを呼び出す方法でもかまいません。 (ちなみにperl(もしくはC言語作成のモジュール)単独では実現可能なことはわかっています)

  • 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)です。

  • シェルスクリプトの作り方

    OSはVineで、bashシェルです。 シェルスクリプトの作り方ですが、 1.ファイルを作る。 例えば、 #!bin/sh cd tmp このとき、ディレクトリはどこでもいいのでしょうか? 2.権限を付ける。 chmod u+x filename 3.実行 ./filename 他に気をつけることはないでしょうか? 実行すると、 bash: ./filename: bad interpreter: そのようなファイルやディレクトリはありません となってしまって、どうしても実行できません。

  • シェルで拡張子一覧

    bashシェルを使い、サーバーにアップロードされているWEBシステム の拡張子を調べたいと思います。 新規にソフトをインストールすることができない環境のため、 シェルでできれば良いかと思っただけで、特にこだわりはないです。 どんなシェルを書けば良いのかわからず、質問しました。 よろしくお願いします。

  • [シェルスクリプト内で bashコマンド後のコマンドが実行されない]

    [シェルスクリプト内で bashコマンド後のコマンドが実行されない] 以下の様にシェルスクリプトを記述するとコマンド2が実行されません。 #! /bin/sh コマンド1 bash コマンド2 bash環境でコマンド2を実行させるにはどうしたら良いのでしょうか?

  • bad interpreterで、シェルが使えません(T_T)

    RedHat9ではよく以下のような胃の痛いような エラーがでます。 rootでシェルが実行できないのですが、 どうすれば実行できるでしょうか? ■1.shというシェルファイル #!/bin/sh /bin/touch 1 ■1.shを実行するとエラーになります。。 # ./1.sh : bad interpreter: そのようなファイルやディレクトリはありません ■cronでも動きません。。 /bin/bash: 1.sh: /bin/sh: bad interpreter: No such file or directory

  • FTPは許可したいがシェルは許可したくない

    いつもお世話になっております。 仲間内で立てたサーバーの管理者をやっておりますが、ここでひとつ疑問があります。 シェルを許可したくなく/etc/passwdファイルでは利用シェルを/bin/falseに指定しているのですが、このようにするとFTPの接続時にパスワードの入力を求められます。しかも正しいパスワードを入力してもログインできません。 sshやtelnetでのシェルの利用をさせず、ftpでログイン可能な設定方法などありますか? 使用環境は OS turbolinux7 proftpd apacheです よろしくお願いします

  • eth0を確認するシェルスクリプト

    eth0が起動しているかどうかを確認し、起動していなかったらサーバを再起動させたいと考えているのですが、どのような方法が適当と思われますか。 google等で調べてみた感じでは、シェルスクリプト足すcronで可能なのかなと思っています。 もしシェルスクリプトを使用する場合 #!/usr/bin/sh if eth0が起動していなかったら;then shutdown -r now elif eth0が起動していたら ; then 何もしない fi というような考え方をすればいいのかなと思っているのですが、具体的な記述についてはまだピンときません。具体的記述方法、あるいは参考URL等教えていただければ幸いです。 ちなみにシェルはbash。OSはred hat 9です。 よろしくお願いします。