2014年9月10日水曜日

手動とcron実行・及び違うサーバで同じシェルスクリプト叩いて実行結果が違った時の確認

実行するときの環境変数の差を疑うべし

実行ユーザでprintenvした環境変数と
cronで実行したprintenvを比べてLANG設定とかちゃんと同じか確認する

# vi /etc/crontab
------------------------------------------------------------------------
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

*/1 * * * * root printenv > /root/printenv.txt
---------------------------------------------------------------

# less /root/printenv.txt
----------------------------------------
MAILTO=root
SHELL=/bin/bash
USER=root
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PWD=/
LANG=ja_JP.UTF-8
SHLVL=1
HOME=/
LOGNAME=root
_=/usr/bin/printenv
----------------------------------------



検証環境と本番環境で違っていたので上記の方法で確認して本番環境に
LANG設定がされてなかったのを確認

2014年7月17日木曜日

MySQL メモ

■カラムの追加と削除
http://www.dbonline.jp/mysql/table/index20.html

2014年7月16日水曜日

置換を行う REPLACE SQL

■テーブルのあるカラムを対象にabcという文字列が存在している場合、abcをdefに置き換えてアップデートする 特定行だけにしたい場合はwhere句をつける

UPDATE テーブル名 SET カラム名=REPLACE(カラム名,'abc','drg') ;

2014年7月15日火曜日

改行コードを入れる SQL

INSERT INTO NANTOKA_TABLE (textbody) VALUES ('改行を' || chr(10) || 'いれます');

chr(13) : CR    chr(10) : LF

2014年7月14日月曜日

MySQL コマンドラインメモ

1■エラーを無視してインポートするMySQLのコマンド( force)
http://nob-log.info/2013/02/15/mysql-force-import/

2■コマンドラインで実行するときのオプション
http://dev.mysql.com/doc/refman/4.1/ja/mysql.html


3■MySQLのコマンドラインで-pオプションを使わずにパスワードを指定する方法
http://heartbeats.jp/hbblog/2010/03/mysql-p.html
これをやらないと毎回
Warning: Using a password on the command line interface can be insecure.
がでてめんどい。


2+3の複合
シェルスクリプトでselect実行結果を変数にいれたいとき
-e  SQL文を渡すためのオプション
B   実行結果の枠線を消す
N   カラム名を表示しない

変数名=`mysql -uユーザ名 DB名 -NBe "select ~~"`

セレクトで得たid群分処理を回したい

ids=`mysql -uユーザ名 DB名 -NBe "select id from xxxxx"`
for i in $ids
do
 echo $i      
done

みたいな感じ ids に 1 2 3 と結果がはいった場合
for分は3回実行され $i は 1 2 3と順次中身がとりだされ実行される

2014年7月4日金曜日

cakePHPメモ

CakePHPの共通のライブラリの作り方

http://ameblo.jp/itboy/entry-11354038711.html

CakePHP:モデル内でコンポーネントを呼び出す

http://mac-studio.info/cakephp%EF%BC%9A%E3%83%A2%E3%83%87%E3%83%AB%E5%86%85%E3%81%A7%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99

CakePHPでコントローラーを複数のディレクトリに整理する方法

http://d.hatena.ne.jp/yandod/20080510/1210416583


[CakePHP2]コンポーネントでloadModelできる便利メソッドを作る

http://www.happyquality.com/2012/08/24/2449.htm

CakePHP2でComponentからHTTPリクエストのクエリパラメータを取得する方法

http://tech.oga-ria.com/get-request-query-parameter-at-component-in-cakephp/

2014年7月1日火曜日

cakephpでユーザ定義定数を読みだす

http://hakomori.net/cakephp-original-constant/

defineだけ記述したものでやりたく上記を参考にしてやってみたが
エラーが発生した・・とほほ


$configを最低でもひとつ定義していないと上記画面になるっぽい
下記のような$configをてきとーに一個かいてみたら上記画面はでなくなり、問題なく動作しました。
$config['test'] = array(
  "test_a"=>"abc",
  "test_b"=>"def",
 "test_c"=>"ghi",
);