プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
cronでスクリプト実行時のカレントディレクトリを変更する
結論から書くと「cd」コマンドでディレクトリを移動してから
スクリプトを実行する形が現実的です。
書き方は、例えば

0    1    *    *    *    cd /hoge; ./hoge01.sh

になります。
まず

cd /hoge;

で「/hoge」に移動して

./hoge01.sh

で「hoge01.sh」を実行していますよ。

「/etc/crontab」を編集することによって任意のディレクトリを
カレントディレクトリ(というかホームディレクトリ)として指定することもできますが、
何がどうなるか分からないので、オススメはしません。

身も蓋もないことを言いますが、個人的にはcronに登録するスクリプト内のパスは

絶対パスで書くのが基本

だと思っています。
例えば、スクリプト内に「BASE_DIR」のような変数を用意して、
そこで基点となるディレクトリを設定するとかですね。

crontabを使ってあれこれするよりもスクリプト内で吸収した方が楽だと思いますが、
いかがでしょ(--?

……って、話が脱線しましたね。

もう一度まとめておくと

0    1    *    *    *    cd /hoge; ./hoge01.sh

みたいに書いて、cdコマンドでディレクトリを移動してから
スクリプトを実行するのが現実的です。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● 環境設定関連  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事