カレントディレクトリで foo という文字列を含むディレクトリを除くディレクトリ配下のindex.htmlをindex.html.orgに変更する場合
$ find . -path "./*foo*" -prune -o -type f -name "index.html" | perl -nle '$o=$_;s/\.html$/\.html\.org/;rename $o,$_'
土曜日, 1月 10, 2015
AzureでクラウドサービスのDNS逆引き設定
mail.hoge.comがDNSでhogemail.cloudapp.netのCNAMEで登録されている前提。
PowerShell を起動し、つぎのコマンドを実行し、一応クラウドサービスのサービス名を確認する。
PS C:\> Get-AzureService | fl ServiceName
つぎのようにコマンドを実行し、クラウドサービスのパブリック仮想 IP (VIP) アドレスの逆引き設定をする。
PS C:\> Set-AzureService -ServiceName "hogemail" -Description "Reverse DNS" -ReverseDnsFqdn "mail.hoge.com."
PowerShell を起動し、つぎのコマンドを実行し、一応クラウドサービスのサービス名を確認する。
PS C:\> Get-AzureService | fl ServiceName
つぎのようにコマンドを実行し、クラウドサービスのパブリック仮想 IP (VIP) アドレスの逆引き設定をする。
PS C:\> Set-AzureService -ServiceName "hogemail" -Description "Reverse DNS" -ReverseDnsFqdn "mail.hoge.com."
金曜日, 12月 12, 2014
SQL Serverでミラーリング状態の確認
Management Studioで
SELECT DB_NAME(database_id) [DBName],mirroring_role_desc,mirroring_state_desc,mirroring_witness_state_desc FROM sys.database_mirroring WHERE mirroring_guid IS NOT NULL ORDER BY DBName
を実行する。
コマンドプロンプトなら
sqlcmd -S localhost -U sa -P パスワード -d master -Q "SELECT DB_NAME(database_id) [DBName],mirroring_role_desc,mirroring_state_desc,mirroring_witness_state_desc FROM sys.database_mirroring WHERE mirroring_guid IS NOT NULL ORDER BY DBName"
を実行する。
SELECT DB_NAME(database_id) [DBName],mirroring_role_desc,mirroring_state_desc,mirroring_witness_state_desc FROM sys.database_mirroring WHERE mirroring_guid IS NOT NULL ORDER BY DBName
を実行する。
コマンドプロンプトなら
sqlcmd -S localhost -U sa -P パスワード -d master -Q "SELECT DB_NAME(database_id) [DBName],mirroring_role_desc,mirroring_state_desc,mirroring_witness_state_desc FROM sys.database_mirroring WHERE mirroring_guid IS NOT NULL ORDER BY DBName"
を実行する。
火曜日, 11月 04, 2014
木曜日, 10月 02, 2014
AzureのCentOSにはswapがない!
Azureの仮想マシンのCentOSにはswapがない。
そこでswapを非永続ディスク上に作成する。
/etc/waagent.conf を編集する。
変更箇所は
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=5120
の2行。
/etc/fstab に
/mnt/resource/swapfile swap swap defaults 0 0
を追記する。
これでOSを再起動すると、/mnt/resource に swapfile が作成される。
そこでswapを非永続ディスク上に作成する。
/etc/waagent.conf を編集する。
変更箇所は
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=5120
の2行。
/etc/fstab に
/mnt/resource/swapfile swap swap defaults 0 0
を追記する。
これでOSを再起動すると、/mnt/resource に swapfile が作成される。
火曜日, 9月 30, 2014
Tomcat8.0でシンボリックリンクを有効にする
$CATALINA_HOME/conf/context.xml の <Context> のすぐ後に
<Resources className="org.apache.catalina.webresources.StandardRoot" allowLinking="true"/>
を追記する。
バージョン8.0からこうなったみたい。
<Resources className="org.apache.catalina.webresources.StandardRoot" allowLinking="true"/>
を追記する。
バージョン8.0からこうなったみたい。
Tomcat8.0のRequestDumperFilterでServletの文字化け解消
$CATALINA_HOME/webapps/アプリ名/WEB-INF/web.xml の先頭部分につぎのように<filter>を追記する。
------------------------------------------------------------------------------
<web-app>
<filter>
<filter-name>requestdumper</filter-name>
<filter-class>
org.apache.catalina.filters.RequestDumperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>requestdumper</filter-name>
<url-pattern>/target_path/*</url-pattern>
</filter-mapping>
(以下省略)
------------------------------------------------------------------------------
$CATALINA_HOME/conf/logging.properties を編集。
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
に
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, 5request-dumper.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
のように 5request-dumper.org.apache.juli.FileHandler, を追記し、
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
の下あたりに
# request dumper configuration
5request-dumper.org.apache.juli.FileHandler.level = INFO
5request-dumper.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5request-dumper.org.apache.juli.FileHandler.prefix = request-dumper.
5request-dumper.org.apache.juli.FileHandler.formatter = org.apache.juli.VerbatimFormatter
org.apache.catalina.filters.RequestDumperFilter.level = INFO
org.apache.catalina.filters.RequestDumperFilter.handlers = 5request-dumper.org.apache.juli.FileHandler
を追記する。
アプリをデプロイし直し、Tomcatを再起動。
これで
$CATALINA_HOME/logs/
に
request-dumper.2014-09-30.log
のようなログファイルが生成される。
理由はわからないが、POSTリクエストで送信されたUTF-8の2バイト文字が、それを受け取ったフィルターのurl-patternに含まれるServletで文字化けしなくなった。
ちなみにJavaのソースコードはシフトJIS。
------------------------------------------------------------------------------
<web-app>
<filter>
<filter-name>requestdumper</filter-name>
<filter-class>
org.apache.catalina.filters.RequestDumperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>requestdumper</filter-name>
<url-pattern>/target_path/*</url-pattern>
</filter-mapping>
(以下省略)
------------------------------------------------------------------------------
$CATALINA_HOME/conf/logging.properties を編集。
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
に
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, 5request-dumper.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
のように 5request-dumper.org.apache.juli.FileHandler, を追記し、
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
の下あたりに
# request dumper configuration
5request-dumper.org.apache.juli.FileHandler.level = INFO
5request-dumper.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5request-dumper.org.apache.juli.FileHandler.prefix = request-dumper.
5request-dumper.org.apache.juli.FileHandler.formatter = org.apache.juli.VerbatimFormatter
org.apache.catalina.filters.RequestDumperFilter.level = INFO
org.apache.catalina.filters.RequestDumperFilter.handlers = 5request-dumper.org.apache.juli.FileHandler
を追記する。
アプリをデプロイし直し、Tomcatを再起動。
これで
$CATALINA_HOME/logs/
に
request-dumper.2014-09-30.log
のようなログファイルが生成される。
理由はわからないが、POSTリクエストで送信されたUTF-8の2バイト文字が、それを受け取ったフィルターのurl-patternに含まれるServletで文字化けしなくなった。
ちなみにJavaのソースコードはシフトJIS。
木曜日, 9月 11, 2014
Azureで仮想ネットワーク内仮想マシンのDNS名
仮想マシンOSがWindowsの場合、コマンドプロンプトで
C:\Users\Administrator>ipconfig
Windows IP 構成
イーサネット アダプター Ethernet 21:
接続固有の DNS サフィックス . . . . .: eldb.m2.internal.cloudapp.net
リンクローカル IPv6 アドレス. . . . .: fe80::7de3:9900:a6a0:eda1%34
IPv4 アドレス . . . . . . . . . . . .: 192.168.91.4
サブネット マスク . . . . . . . . . .: 255.255.255.128
デフォルト ゲートウェイ . . . . . . .: 192.168.91.1
Tunnel adapter isatap.eldb.m2.internal.cloudapp.net:
メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .: eldb.m2.internal.cloudapp.net
Tunnel adapter Teredo Tunneling Pseudo-Interface:
接続固有の DNS サフィックス . . . . .:
IPv6 アドレス . . . . . . . . . . . .: 2001:0:9d38:6abd:2cf8:151e:3f57:a4fb
リンクローカル IPv6 アドレス. . . . .: fe80::2cf8:151e:3f57:a4fb%14
デフォルト ゲートウェイ . . . . . . .: ::
C:\Users\Administrator>
この中の「接続固有の DNS サフィックス . . . . .: eldb.m2.internal.cloudapp.net」を確認。
例えばそのマシンのホスト名が hoge だったら
hoge.eldb.m2.internal.cloudapp.net
がその仮想ネットワーク内で使えるそのマシンのDNS名。
OSがLinuxの場合、
$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search elweb.m5.internal.cloudapp.net
nameserver 168.63.129.16
$
この中の「search elweb.m5.internal.cloudapp.net」を確認。
そのマシンのホスト名が hogehoge だったら
hogehoge.elweb.m5.internal.cloudapp.net
がその仮想ネットワーク内で使えるそのマシンのDNS名。
C:\Users\Administrator>ipconfig
Windows IP 構成
イーサネット アダプター Ethernet 21:
接続固有の DNS サフィックス . . . . .: eldb.m2.internal.cloudapp.net
リンクローカル IPv6 アドレス. . . . .: fe80::7de3:9900:a6a0:eda1%34
IPv4 アドレス . . . . . . . . . . . .: 192.168.91.4
サブネット マスク . . . . . . . . . .: 255.255.255.128
デフォルト ゲートウェイ . . . . . . .: 192.168.91.1
Tunnel adapter isatap.eldb.m2.internal.cloudapp.net:
メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .: eldb.m2.internal.cloudapp.net
Tunnel adapter Teredo Tunneling Pseudo-Interface:
接続固有の DNS サフィックス . . . . .:
IPv6 アドレス . . . . . . . . . . . .: 2001:0:9d38:6abd:2cf8:151e:3f57:a4fb
リンクローカル IPv6 アドレス. . . . .: fe80::2cf8:151e:3f57:a4fb%14
デフォルト ゲートウェイ . . . . . . .: ::
C:\Users\Administrator>
この中の「接続固有の DNS サフィックス . . . . .: eldb.m2.internal.cloudapp.net」を確認。
例えばそのマシンのホスト名が hoge だったら
hoge.eldb.m2.internal.cloudapp.net
がその仮想ネットワーク内で使えるそのマシンのDNS名。
OSがLinuxの場合、
$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search elweb.m5.internal.cloudapp.net
nameserver 168.63.129.16
$
この中の「search elweb.m5.internal.cloudapp.net」を確認。
そのマシンのホスト名が hogehoge だったら
hogehoge.elweb.m5.internal.cloudapp.net
がその仮想ネットワーク内で使えるそのマシンのDNS名。
水曜日, 9月 03, 2014
金曜日, 8月 08, 2014
火曜日, 7月 01, 2014
Bracketsの proxy 設定
メニューバー「デバッグ」の「環境設定ファイルを開く」を選択。
brackets.json が開かれるので
{
"debug.showErrorsInStatusBar": false
}
につぎのようにproxyの設定を追加し、Bracketsを再起動する。
{
"debug.showErrorsInStatusBar": false,
"proxy": "http://172.16.10.11:3128/"
}
以上。
brackets.json が開かれるので
{
"debug.showErrorsInStatusBar": false
}
につぎのようにproxyの設定を追加し、Bracketsを再起動する。
{
"debug.showErrorsInStatusBar": false,
"proxy": "http://172.16.10.11:3128/"
}
以上。
金曜日, 4月 11, 2014
Bootstrap3 のカラースキームを変更する 1pxdeep
(1) http://rriepe.github.io/1pxdeep/
にアクセスする。
「Download」ボタンをクリックしてファイルをダウンロードして展開する。
Seed colorを指定し、「Scheme now」ボタンをクリックして色を確認する。
気に入った色になったら、RGB値をコピーする。
(2) http://getbootstrap.com/getting-started/#download
でSource Codeをダウンロードして展開し、less フォルダに (1) で取得したファイル
scheme.less
1pxdeep.less
を配置する。
1pxdeep.less
を編集し、先頭部分に
@import "bootstrap.less";
@import "scheme.less";
を追記する。
scheme.less
を編集し、先頭部分の
@seed-color:
に (1) でコピーしたRGB値を指定する。
(3) Crunch (http://crunchapp.net/) 等のツールを入手して、(2) の
1pxdeep.less
を .css ファイルにコンパイルし、適宜配置する。
(4) 対象のHTMLファイルを編集し
<link href="css/bootstrap.min.css" rel="stylesheet" />
<link href="css/1pxdeep.css" rel="stylesheet" />
のように Bootstrap の後に (3) で作成したCSSファイルを指定する。
以上。
にアクセスする。
「Download」ボタンをクリックしてファイルをダウンロードして展開する。
Seed colorを指定し、「Scheme now」ボタンをクリックして色を確認する。
気に入った色になったら、RGB値をコピーする。
(2) http://getbootstrap.com/getting-started/#download
でSource Codeをダウンロードして展開し、less フォルダに (1) で取得したファイル
scheme.less
1pxdeep.less
を配置する。
1pxdeep.less
を編集し、先頭部分に
@import "bootstrap.less";
@import "scheme.less";
を追記する。
scheme.less
を編集し、先頭部分の
@seed-color:
に (1) でコピーしたRGB値を指定する。
(3) Crunch (http://crunchapp.net/) 等のツールを入手して、(2) の
1pxdeep.less
を .css ファイルにコンパイルし、適宜配置する。
(4) 対象のHTMLファイルを編集し
<link href="css/bootstrap.min.css" rel="stylesheet" />
<link href="css/1pxdeep.css" rel="stylesheet" />
のように Bootstrap の後に (3) で作成したCSSファイルを指定する。
以上。
木曜日, 3月 20, 2014
Bracketsの編集画面のフォントを変える (Windows)
C:\Documents and Settings\ユーザ名\Application Data\Brackets\extensions\user
に例えば code-font というフォルダを作成し、その中に main.js というファイル名で
define(function (require, exports, module) {
"use strict";
var ExtensionUtils = brackets.getModule("utils/ExtensionUtils");
ExtensionUtils.addEmbeddedStyleSheet(".CodeMirror { font-family: 'MS Gothic'; }");
});
を保存する。
フォント名は MS Gothic のところで指定する。
以上。
に例えば code-font というフォルダを作成し、その中に main.js というファイル名で
define(function (require, exports, module) {
"use strict";
var ExtensionUtils = brackets.getModule("utils/ExtensionUtils");
ExtensionUtils.addEmbeddedStyleSheet(".CodeMirror { font-family: 'MS Gothic'; }");
});
を保存する。
フォント名は MS Gothic のところで指定する。
以上。
金曜日, 3月 07, 2014
水曜日, 6月 26, 2013
OpenLDAPのBerkeley DBファイルを特定の日時の状態に戻す
古いDebianで運用されているOpenLDAPのBerkeley DBに不整合が発生した。
念のためデータベースのディレクトリをコピーし、原因となる操作が行われる前の状態に戻した。
# cd /var/lib
#
# /etc/init.d/slapd stop
#
# cp -R -P ldap ldap.20130613
#
# db4.2_recover -c -v -t 06131100 -h ldap
#
# /etc/init.d/slapd start
#
念のためデータベースのディレクトリをコピーし、原因となる操作が行われる前の状態に戻した。
# cd /var/lib
#
# /etc/init.d/slapd stop
#
# cp -R -P ldap ldap.20130613
#
# db4.2_recover -c -v -t 06131100 -h ldap
#
# /etc/init.d/slapd start
#
水曜日, 5月 15, 2013
金曜日, 1月 18, 2013
メールのMIMEマルチパートの文字列をバイナリファイルに変換
メールの添付ファイル部分、例えば
を実行する。
--DC_BOUND_PRE_<1358488463.00267343d988>
Content-Type: application/pdf; name="201301181454.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="201301181454.pdf"
こんな行から
--DC_BOUND_PRE_<1358488463.00267343d988>--
こんな行までを仮にhoge.txtとして保存する。
WindowsならCygwinのコンソールで
perl -MMIME::Base64 -
ne
'print decode_base64($_)'
< hoge.txt >
201301181454.pdfを実行する。
水曜日, 11月 07, 2012
Google Chromeの機能
URLバーに chrome://chrome-urls/ を打ち込んでもよいし、Chromeウェブストアの「Service Pages for Google Chrome」を入れてもよし。便利。
金曜日, 5月 11, 2012
MS SQL Server 2008 R2 Expressのインストールでつまづいた
Windows XP SP3 (32bit)での話。
事前に「.NET Framework 4」やら「Windowsインストーラ4.5」やら「Windows PowerShell 1.0」のインストールが必要。
管理ツール -> 「ローカルセキュリティポリシー」 -> 「ローカルポリシー」 -> 「ユーザ権利の割り当て」の「プログラムのデバッグ」に「NETWORK SERVICE」やら「LOCAL SERVICE」やらデータベース管理者を追加した。
また同じく「ローカルセキュリティポリシー」の「サービスとしてログオン」から古いバージョンのSQL Serverのユーザを削除した。
インストールが失敗した場合、再インストールの前に「プログラムの追加と削除」でインストールしたインスタンスを削除する必要あり。
厄介なこった。
(参考)
http://awoni.net/fc/sql-server-2008-express/
http://d.hatena.ne.jp/haradago/20100211/p1
事前に「.NET Framework 4」やら「Windowsインストーラ4.5」やら「Windows PowerShell 1.0」のインストールが必要。
管理ツール -> 「ローカルセキュリティポリシー」 -> 「ローカルポリシー」 -> 「ユーザ権利の割り当て」の「プログラムのデバッグ」に「NETWORK SERVICE」やら「LOCAL SERVICE」やらデータベース管理者を追加した。
また同じく「ローカルセキュリティポリシー」の「サービスとしてログオン」から古いバージョンのSQL Serverのユーザを削除した。
インストールが失敗した場合、再インストールの前に「プログラムの追加と削除」でインストールしたインスタンスを削除する必要あり。
厄介なこった。
(参考)
http://awoni.net/fc/sql-server-2008-express/
http://d.hatena.ne.jp/haradago/20100211/p1
登録:
投稿 (Atom)