GrADSをcronで実行する

cronとは

cronとは、定期的に実施する作業を自動的に実行できる機能です。

詳しくは、以下の記事を参照ください。

方法

MSMデータをGrADSで描画して定期的に保存しようと思い、スクリプトを書いて、cronで設定します。

デフォルトのcron用のPATHには、ほとんどPATHが記述されていないので、GrADSのPATHを追加します。

GrADSのPATHは、次のコマンドを実行して確認できます。

$ which grads

また、今のユーザのPATHをcron用のPATHに追加するのもアリです。

今のユーザのPATHは、次のコマンドを実行することで確認できます。

$ echo $PATH

返したPATHをコピーして、crontab -e を実行し、1行目にPATHを記述します。

PATH=コピーしたPATH
* * * * * grads -blc sample.gs

gradsのオプションbは、バッチモードで実行します。グラフィックウィンドウ(絵が描画されるときのウィンドウ)が開きません。

gradsを起動する際、コマンドで「grads」と実行した後、もう一度、Enterを押さないといけませんでしたが、オプションlは、それを省略できます。

オプションcは、gradsのスクリプトファイルを指定できます。

GrADSのライブラリを追加


準備は整いました。いざ、実行。


しかし、カラーバーが表示されません。(因みに、カラーバーを表示しない場合、うまくいく場合もあります。)
ログを見ると、以下のエラーが…

Unknown command: cbarn

cbarnというコマンドが見つからないため、カラーバーが出力されないとのこと。

コマンドライン上で実行するとカラーバーが表示されるのに、なぜだろうということになりました。

調べるとGrADSのbinファイルのGrADSファイルだけではカラーバーは表示できないようです。

GrADSでは、GrADSのライブラリもPATHに入れる必要があるようです。

現状の解決策として、GrADSのスクリプトと同じディレクトリ内にライブラリのファイルを入れると上手く走りました。


ライブラリの内容は、以下を参照してください。

http://cola.gmu.edu/grads/gadoc/library.html

この中からスクリプトを選び、右クリックして、リンクのアドレスをコピーしてください。

次のように実行するとファイルが保存されます。

$ wget コピーしたアドレス

上記の方法以外に、コマンドライン上で実行できた場合、ライブラリのスクリプトがどこかにあると思うので、~/.bashrcなどで確認するのもよいかと思います。

まとめ

cronでGrADSを用いる際、
GrADSのbinファイルをPATHで指定する。
内容によって、ライブラリのファイルをスクリプトと同じディレクトリに配置する。