あーかいぶすハイディフィニション

ここはもう更新しとらんのじゃ

ndb_restore する時の注意

  • ノードは api あたりを一つ停止して空きを作る
  • ndbd --initial してまっさらなデータベースをお作り遊ばす
  • /prefix/ndb_mgmd.log を見て「start phase 101」の表示が出るまではリビルド中なので、api ノード ( mysqld ) を起動させてはいけない

全て忘れて復旧作業してて、「あっれメタデータのリストアから失敗するのなんで……?」ってなってました、わしとりあたまー!

Linux のユーザにあとからホームディレクトリを設定する方法

調べてみると書いてなくて、皆「追加時に設定するやで!」しか言ってない。もしくは「あとから別ディレクトリ指定するやで!」。そうじゃない、そうじゃないんだ、俺はただ「usetadd -m USERNAME」した時のディレクトリ追加動作をしてほしいだけなんだ……。

結論

そんな動作はねえ。

続きを読む

mysql CUI から csv 出力

mysql> SELECT * FROM table INTO OUTFILE "/tmp/output.csv" FIELDS TERMINATED BY ',';

mysql CUI からファイルを出力する時に、/tmp/output.csv を作成するユーザは mysqld_safe プロセスを動かしているユーザとなるので、大体の環境だと mysql ユーザになると思います。そしてパッケージ管理システムなりで入れると、大体ログインシェルやホームディレクトリがないので、どこにも出力できなくない?みたいなオチになります。
という訳で /tmp/ を指定してあります。

munin の実行ユーザを munin 以外で実行させる

Web サーバはおまえだけのもんやないんやで?(マジギレ
という訳で、epel から導入すると強制的に「munin」ユーザが作業を始めるのでそれらを調教します。ディレクトリ設定によって差異はあるでしょうが、大体以下ので大丈夫じゃないでしょうか。

前提条件

それぞれこのユーザで実行させたい。apache は VirtualHost で既に色々動いているので、munin を従わせる方向に舵取りした。

調教する

[root@localhost ~]# chown -R apache:apache /var/www/html/munin/
[root@localhost ~]# chown -R apache:apache /var/log/munin
[root@localhost ~]# chown apache:apache /var/run/munin/
[root@localhost ~]# chown apache:apache /var/run/munin/munin-html.lock
[root@localhost ~]# chown -R apache:apache /var/lib/munin
[root@localhost ~]# vi /etc/cron.d/munin
->
#
# cron-jobs for munin
#

MAILTO=root

#*/5 * * * *     munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron
*/5 * * * *     apache test -x /usr/bin/munin-cron && /usr/bin/munin-update
10 */1 * * *    apache test -x /usr/bin/munin-cron && /usr/bin/munin-graph
30 08 * * *    apache test -x /usr/bin/munin-cron && /usr/bin/munin-html

munin の document root にファイルがコピーされてこない場合

ローカル ( root ユーザ宛に)エラーメールが飛びまくってるので、エラーが出なくなるまで、記載されているエラーの原因を潰す。大体どこそこのディレクトリが PermissionDenied というやつなので、容赦なく chown する。
cron 実行されるまで待つ必要はなく、以下のようにすれば /sbin/nologin なやつにもシェルに乗ってコマンド試せるよ。

[root@localhost ~]# su - apache --shell=/bin/bash
$bash

muninの3分間チューニング - Qiita
cron の実行タイミング変更の参考にさせてもらいました。

追記20150526

[root@localhost ~]# vi /etc/logrotate.d/munin

このファイルの中で、ローテートする際にファイルの所有権を munin に態々変更してたので、 munin -> apache に変更。