過去の投稿

August 2014 の投稿一覧です。
カテゴリー: Linux
2014年08月08日
#!/bin/sh
WORK_DIR="/*output_directory_path*/"
PWFILE="/*password_file_path*/"

TABLES=()
TABLES=(${TABLES[@]} "*table_a*")
TABLES=(${TABLES[@]} "*table_b*")

for (( I = 0; I < ${#TABLES[@]}; ++I ))
do
DUMP_SQL="$WORK_DIR/${TABLES[$I]}.sql"
mysqldump --defaults-extra-file=$PWFILE -u*account* *db_name* --tables ${TABLES[$I]} > $DUMP_SQL
perl -pi -e 's/\),\(/\),\n\(/g' $DUMP_SQL
done


【概要】
*output_directory_path*
→ダンプファイル出力先ディレクトリ

*password_file_path*
→MySQL5.6からはコマンドライン上でパスワードを入力するとWarningエラーが出るので
パスワードの内容を設定した以下の2行を記述したファイルをオプションで読み込ませる

[mysqldump]
password=*your_password*

*table_xxx*
→ここにダンプしたいテーブル名を記述し、出力したい分だけ列挙する

perl -pi -e 's/\),\(/\),\n\(/g' $DUMP_SQL
→INSERT文の各レコードの区切りに改行を挿入してエディタで開きやすく&扱いやすく置換
カテゴリー: Linux
2014年08月07日
# 問題のファイルのあるディレクトリで -i をつけて ls を実行。
ls -i

# 問題ファイルの i-node 番号を確認しておく。
find . -inum (問題ファイルのi-node番号) -exec rm -i {} \;

※rm の -i は安全のために削除の確認を促すようにしているだけなので、 なくてもよい

参考
http://www.nminoru.jp/~nminoru/diary/2003/01.html#2003-01-23
カテゴリー: Linux
2014年08月07日
# まずは対象のファイル/ディレクトリの所有者&グループを設定
chown -R apache:apache /*target_path*/

# 対象ユーザーをapacheグループに所属させる
usermod -g apache *user_name*
カテゴリー: Linux
2014年08月07日
find /*target_path*/ -type f -print0 | xargs -0 chmod 0664
find /*target_path*/ -type d -print0 | xargs -0 chmod 0775
カテゴリー: Linux
2014年08月07日
split -l 5000 error_log.BAK split/split_error_log.

・5000行毎にファイルを分割
・ファイル名は split_error_log.aa → .ab のような形で作られる
・相対パスで指定した下位ディレクトリsplit内に分割ファイルを作成することも可能