
シェル初心者です。
宜しくお願い致します。
bashコマンドで起動させると上手く動くのですが、
crontabコマンドで登録すると、全く動いてくれないのです。
ネットで色々調べましたが、原因がさっぱりわかりません。
何卒ご教示お願い致します。
【シェルの内容】
●オラクルに接続し、hoge.sqlにかかれているsql文を実行するシェルです。
cd /h/ho/hog/hoge/
sqlplus hoge/hoge2@hogehoge @/h/ho/hog/hoge/hoge.sql
ちなみにhoge.sqlは、以下のような内容です。
(⇒test.sqlの内容をcsvファイルに出力する)
set echo off
set heading off
set pause off
set pagesize 0
set linesize 32767
set feedback off
set trimspool on
set termout off
column log_date new_value log_date_text noprint
select to_char(sysdate,'yyyymmddhh24miss') log_date from dual;
spool TEST_&log_date_text..csv
@/h/ho/hog/hoge/test.sql
※test.sqlはselect文です。
spool off
exit
納期が近づいているため、かなり焦っています。
宜しくお願い致します。
●その他
サーバ:Sun OS 5.9
oracle:9.2.0.1.0
以上
No.1ベストアンサー
- 回答日時:
crontabから起動すると、.profileが読まれません。
つまり、環境変数がセットされない状態でシェルが起動されます。
ですので、sqlplusパスやORACLE_SIDなどもセットされていません。
各種設定ファイルを別ファイル化しておいて
起動時に読み込ませる必要があります。
あと、crontabに登録する際は標準出力、標準エラーを
リダイレクトしてログに書き込めば原因がわかりやすいです。
この回答への補足
環境変数を設定するよう、SQLPLusを実行する前にスクリプトを改修しましたら、できました!!
本当にありがとうございます。これで一安心です。
ご教示頂いたとおりにログを出力しましたら、
bashとcron起動時のログでかなり異なっておりました。
具体的に以下のどの環境変数を設定すればいいのでしょうか。
(bashコマンドで実行した際に以下の変数名が出ておりました)
大変恐縮ですが、ご教示頂ければ幸いです。
※設定はexportコマンドで宜しいでしょうか。
PWD
TZ
HZ
HOSTNAME
LD_LIBRARY_PATH
CLASSPATH
HTTP_PROXY
MACHTYPE
MAIL
OLDPWD
LANG
ORACLE_BASE
ORACLE_HOME
LOGNAME
SHLVL
ORA_NLS33
SHELL
HOSTTYPE
OSTYPE
HOME
TERM
NLS_LANG
PATH
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- HTML・CSS 全部のアクセスを指定したページに転送させたい 2 2022/06/28 16:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Server 2005 EXPRESSでログ...
-
SQL*Plusで以前に実行したコマ...
-
ORACLEのエクスポートについて
-
Oracleで流したSQLのログを取得...
-
実行計画の結果の整形(折り返し)
-
PL/SQLからshellスクリプ...
-
Accessからoracleのストアドプ...
-
ShellからTruncate【Linux】
-
リスナーログを出力しない設定方法
-
SQL*Plusで、コマンドの返答を...
-
xy平面上の点P(x,y)に対し,点Q(...
-
ACCESSでパススルークエリにパ...
-
コムテックドライブレコーダーH...
-
ブラウザのURLよりリクエストパ...
-
4GB = 4096MB ではない?
-
DOSプロンプトとコマンドプロン...
-
ZパラメータとFパラメータがわ...
-
share docsってどう読むのですか?
-
リカバリ
-
アーカイブログモードの変更に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PL/SQLでログを確認したい。
-
Oracleで流したSQLのログを取得...
-
SQL*Plusで、コマンドの返答を...
-
ストアド・プロシージャをバッ...
-
batファイルでのSQL(oracle)...
-
トレースファイルの削除スクリプト
-
サービスの再起動を自動で
-
SQL実行結果の出力を見やすくし...
-
ソート(大文字・小文字を区別...
-
SQL実行結果取得
-
ORA-00984のエラーが出ます
-
Accessからoracleのストアドプ...
-
JavaでのOracle接続について(J...
-
execute使用した時の、完了メッ...
-
マテリアライズドビューログに...
-
リスナーログを出力しない設定方法
-
【spoolコマンドで追記】
-
SQL*PLUSを終了させる方法
-
シェル上でDBコマンドをループ...
-
SQL*Plus:SPOOLコマンドでのSQ...
おすすめ情報