cronで、postgresqlのストアドファンクションを実行する際に2点わからない点が
あるのですが、ご存知の方、ご教授ください。
1.下記、シェルをcronで実行すると、5分毎にログは作成されるのですが、処理は最初の一回しか実行されません。5分毎に実行させたいのですが、どうすればよろしいでしょうか?
クーロンを使用せずに、./5time.shで実行したときに、-bash-4.1$となって、exitを入力すると下記のように
エラーを出すのですが、これが問題なのでしょうか?対処方法を教えてください。
-bash-4.1$ exit
logout
psql: FATAL: ロール"root"は存在しません
psql: FATAL: ロール"root"は存在しません
psql: FATAL: ロール"root"は存在しません
psql: FATAL: ロール"root"は存在しません
クーロン
*/5 * * * * /root/batch/5time.sh
シェル(5time.sh)
#!/bin/sh DT=`date "+%Y%m%d"` NW=`date "+%Y/%m/%d-%H:%M:%S"` LOG_DIR=/tmp echo ${NW} "start:update_fnc" >> ${LOG_DIR}/${DT}_update_fnc.log sudo -u postgres psql testDB -c "select test.update_fnc1(now());" sudo -u postgres psql testDB -c "select test.update_fnc2(now());" sudo -u postgres psql testDB -c "select test.update_fnc3(now());" sudo -u postgres psql testDB -c "select test.update_fnc4(now());" echo ${NW} "end:update_fnc" >> ${LOG_DIR}/${DT}_update_fnc.log exit
2.シェルでストアドファンクション(select test.update_fnc(now());)を実行したときの戻り値を取得するには、どうしたらよいでしょうか?
下記の書き方しかわかりませんので、ご教授ください。
sudo -u postgres psql testDB -c "select test.update_fnc1(now());"
実行環境 CentOS6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/30 09:10
2015/10/30 09:18
2015/10/30 09:43 編集
2015/10/30 09:54
2015/10/30 12:20 編集
2015/10/30 13:07