アーカイブ » 2013 » 10月

phpMyAdmin4.0.xでカラムの多いテーブルのテーブル構造を開いた際に操作メニューサイズをリサイズするJavascriptのために、表示に時間がかかり操作ができない件の解消

Written in 2013年10月16日 by | コメントする( 0件 )

phpMyAdmin4.0.x (他のバージョンもそうかもしれないが)で、テーブル構造ページを開くと、各カラム情報行の右側にある各種操作メニューを、ブラウザの画面サイズに合わせてリサイズするJavascriptが動くが、これが結構遅くて、カラム数の多いテーブルの場合、画面を開いてから、操作できるようになるまでにかなりの時間がかかり、作業に支障をきたす。これを改善したい。

方法

js/tbl_structure.js

を開き、以下のコードを全箇所でコメントアウトする。(私の使っているバージョンでは3か所あった。)

$('#fieldsForm ul.table-structure-actions').menuResizer(PMA_tbl_structure_menu_resizer_callback);

PMA_tbl_structure_menu_resizer_callback で検索すると全部見つかるでしょう。

これで画面を開いた際にメニューのリサイズ処理が走らなくなる。ただし、画面が狭いとメニューが折り返されて、幾分見づらい。。。

Postfixで特定の送信元アドレス、送信先アドレスのキューを一括削除する

Written in 2013年10月03日 by | コメントする( 0件 )

mailq を実行すると、

-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------

CFC83527CBDA*     851 Thu Oct  3 11:06:56  foo@hogehoge.jp
(delivery temporarily suspended: host smtp.hogehoge.jp[111.222.111.222] refused to talk to me: ・・・・)
recipient1@fugafuga.com
recipient2@foofoo.com
recipient3@barbar.com

のようにキューがリストされる。(上記は一件のみ)

この場合、送信元アドレスはfoo@hogehoge.jpであり、送信先は、recipient1@fugafuga.com、recipient2@foofoo.com、recipient3@barbar.comである。これらの情報を参照し、それを条件としてQueue IDを引っ張ってきて、postsuper –d に渡せばキューを消せる。

そのためのシェルはman postsuperに載っているものを参考にできる。

送信元アドレスを条件にしてキューIDをリストする場合

mailq | tail -n '+2'  | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ( $7 == "foo@hogehoge.jp" ) print $1 }'

送信先アドレスを条件にしてキューIDをリストする場合

mailq | tail -n '+2'  | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ( $8 == “recipient1@fugafuga.com” || $9 == “recipient1@fugafuga.com” ) print $1 }'

のようにする。$8以降が送信先アドレスである。

特定のドメインのアドレス、という条件にする場合は正規表現を使う。

mailq | tail -n '+2'  | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ( $7 ~ "hogehoge.jp" ) print $1 }'

ここで得られるキューIDには*や!がついていたりするので、それを外すため、パイプを追加する。

| tr -d '*!'

そして、これをpostsuper –dに渡す。

| postsuper -d -

完成したシェルは以下の通り。

mailq | tail -n '+2'  | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ( $7 ~ "hogehoge.jp" ) print $1 }' | tr -d '*!' | postsuper -d -

これで一括削除ができる。