以下のサイトから RPM をダウンロードしてインストール。
http://awstats.sourceforge.net/
設定ファイルは、 /etc/awstats/ に、 awstats 用の wwwroot は /usr/local/awstats/ に展開される。
Mailman で ML 環境を構築した際に、 ML の全てのメールのヘッダに Reply-To で ML のアドレスを指定するには、 /usr/lib/mailman/Mailman/ ディレクトリにある Defaults.py の DEFAULT_REPLY_GOES_TO_LIST に 1 をセットすればよい。
# vi /usr/lib/mailman/Mailman/Defaults.py
# 0 - Reply-To: not munged # 1 - Reply-To: set back to the list # 2 - Reply-To: set to an explicit value (reply_to_address) DEFAULT_REPLY_GOES_TO_LIST = 1
Redhat ES 4 に mrtg を入れた。ほとんどパッケージインストールで、ちょちょっと設定が必要。
いつも MRTG の導入はやり方を忘れるのでメモ。
まず、必要そうなパッケージは以下のとおり。
mrtg
net-snmp
多分それ以外も依存関係の影響で必要になるかもしれない。
あと、 CentOS 4.4 でも全く同じように設定できるみたい。
Munin のプラグインを作ると言っても、単純な文字列と数値を出力するスクリプトを作成するだけでとても簡単です。
スクリプトは bash だろうが perl だろうが、 C 言語でも別に構わないので、好きな言語で作れる。
とりあえず、マザーと CPU の温度を表示するプラグインを作ってみた。
インストールの仕方や基本設定はCentOS に Munin をインストールする、Munin を Debian にインストールする、Munin のグラフ(plugin)の種類を変えるを参考。
Coldfusion 7 の管理画面からデータソースへいって、データソースの設定をしようとしても、 MySQL 5 用のドライバは標準では用意されてない。
でも MySQL からしっかりと配布されているのでそれを入手して設定すれば普通に使えます。
そのときのメモ。
Munin の設定ファイルやプラグインを変えて、必要なグラフだけを表示するようにしてみた。
基本的にはプラグインへのシンボリックリンクを削除したり作成するだけで、グラフの数は自由に変えられる。実際のやり方をメモっておく。
インストールの仕方や基本設定はCentOS に Munin をインストールする、Munin を Debian にインストールするを参考。
echo filename | while read i do echo $i done
SQLServer で CSV 形式のデータファイルを import/export するには、 bcp コマンドを使用すると便利です。フォーマットファイルというのを指定することで、型の定義も可能で非常に便利。
またインポートは、 osql で BULK INSERT クエリを発行することでも対応できます。
SQLServer でデータを backup/restore するには osql で BACKUP/RESTORE クエリを発行することで行えます。
作成するダンプファイルにパスワードをつけることも可能です。
SQLServer で文字列検索を実行した際にアルファベットの大文字小文字やひらがなカタカナを区別しなかったりした時には、照合順序(Collation)が正しくない場合がある。
一通りの照合順序の設定方法と意味などをまとめておく。
this.Response.AddHeader("Content-Disposition","attachment;filename=CSVData.csv"); this.Response.AddHeader("media-type","application/octet-stream"); this.Response.WriteFile(csvFilelPath); this.Response.End();
string strDir = "C:\\"; string strFile = "test.csv"; OleDbConnection myConn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDir + ";Extended Properties='TEXT;HDR=NO'"); myConn.Open (); OleDbDataAdapter sqlda = new OleDbDataAdapter ("SELECT * FROM " + strFile, myConn); DataTable dtbl = new DataTable (); sqlda.Fill (dtbl); dgrdCsv.DataSource = dtbl; myConn.Close ();ちなみに、読み込む CSV のフィールドタイプを指定した場合は、 schema.ini を用意して CSV と同じフォルダにおいておく。
[filename.csv] ColNameHeader=True Format=CSVDelimited Col1=user_id Integer Col2=user_name Char Width 32 Col3=notes LongChar
といった感じ。はじめの一行目が CSV ファイル名をセクションで指定して、二行目がヘッダの有無、三行目はデータファイルの書式(ここでは CSV )を指定してます。それ以降が実際のカラムの指定。
public void Page_Load(Object sender, EventArgs e) { RegisterOnSubmitStatement ("submit", "return window.confirm ('削除します。よろしいですか?');");もしくは、特定のボタンのみに登録したい場合は以下も有効。
public void Page_Load(Object sender, EventArgs e) { Button1.Attributes["onclick"] = "return window.confirm ('削除します。よろしいですか?');";
ASP .NET はコントロールデータが全て一つの BASE64 エンコードされた __VIEWSTATE っていうフォーム変数に格納されてるんだけど、それ用のソフト等を使えば内容が閲覧できるし、書き換えることもできる。
これを暗号化して、改ざんされた際にはエラー処理するようにするようにするには、 web.config で Page.EnableViewStateMac を有効にすればいい。
<configuration> <system.web> <machineKey validation="3DES" /> <pages enableViewStateMac="true" /> </system.web> </configuration>Mac stands for "message authentication check".
HTML で、限られたスペースに、可能な限りのドキュメントを入力してスクロールバーで制御したい場合があります。 iframe や textarea でも行えますが、スタイルシートで overflow を使用してスクロールバーを出すこともできます。
例えば幅 400x40 のスクロールバーつきエリアを作成するには以下のようにします。
<div style="overflow: auto; width: 400px; height: 40px"> ここに入力したいドキュメントを書く。 </div>
実際どのようになるかというと、このように入力したドキュメントの長さに応じて、必要なスクロールバーを自動的に表示してくれます。当然 textarea とは違いタグも書けまし、 iframe みたいに別の HTML を作成する必要もありません。
MRTG みたいなツールで温度とかも簡単にグラフ化できるって専らのうわさだったので入れてみた。
ダウンロードはここ。
http://munin.projects.linpro.no/
Download リンクから munin と munin-node の最新版 RPM パッケージを入手。
CentOS には存在しない (Redhat にも存在しない) パッケージを要求されたりして結構面倒でした。
Windows で作成したテキストファイルの改行コードが CRLF で、この内の CR の部分を除去して、 Unix にあわせたい場合に便利なコマンド。
置換などに用いる tr コマンドを使う。
$ tr -d "\r" < input.file > output.fileただしこの tr コマンドの -d オプションは注意が必要で、指定した「文字列」を削除するんじゃなくて、指定した「charactors」を全て削除することです。なので、
$ tr -d "abc" < input.file > output.fileとやると、全ての a と b と c が削除されることになります。文字列を削除したりしたい場合は sed コマンドがおすすめです。