cronをつかってapacheとキャッシュのクリアを定期的に行う。

やりたいこと

apacheとキャッシュのクリアを定期的に実行したい。

やったこと

ダメな例 その1

0 6 * * * /etc/init.d/httpd restart  
10 6 * * * /sbin/swapoff -a && /sbin/swapon -a

複数人でrootを共有する場合などにcrontab -e で直接コマンドを書いてしまうと消されたり変更してしまうおそれがあるため、この書き方は良くない。ファイルにシェルスクリプトを書いてそれを実行するべき。

ダメな例 その2

0 6 * * * sh /root/apache.sh > /dev/null 2>&1

apache.sh

#!/bin/sh
/etc/init.d/httpd restart
swapoff -a && swapon -a

この場合、apacheの再起動を待たずにスワップがクリアが実行される。 swapoffが実行されると仮想メモリが物理メモリに展開されるため、空きがなかった時は失敗する。

良い例

0 6 * * * sh /root/apache.sh > /dev/null 2>&1

apache.sh

#!/bin/sh
/etc/init.d/httpd restart && swapoff -a && swapon -a

これなら正常終了した後に、次のコマンドを実行するので、きちんと実行される。

vimでEscapeを押した時に、IMEも同時に切る方法

やりたいこと

挿入モード時にローマ字で日本語入力した後、ノーマルモードにEscapeキーでもどる。
このときIMEがオンになっており、ノーマルモードが操作できないので、手動でIMEをオフにする必要がある。
Escapeキーをおした時にノーマルモードに戻り、かつIMEもオフにしたい。

解決策

やり方は2つある。

kaoriya_vim,、mac_vimを使っている場合

vimrcでset imdisable設定する。
ただしこのやり方だと、sshを介したサーバーで対応しにくい。

google日本語入力を使用している場合

こちらならsshのターミナル環境でも対応できる。
1. google日本語入力の設定から一般タブを選び、「キー選択」の「編集」ボタンを選択。
2. 左下のプルダウンメニューからエントリーの追加を選択する。
3. 以下の設定で追加する。
* 直接入力 ESCAPE キャンセル後IMEを無効化
* 入力文字なし ESCAPE キャンセル後IMEを無効化
* 変換入力中 ESCAPE キャンセル後IMEを無効化
* 変換中 ESCAPE キャンセル後IMEを無効化
* サジェスト表示中 ESCAPE キャンセル後IMEを無効化
* サジェスト選択中 ESCAPE キャンセル後IMEを無効化

これでESCAPEを押した時に自動でIMEを切ってくれます。
vimmerのための良い設定なのでお勧めです。

yum でインストールしたphp5.5にopcacheを有効にさせる方法

やりたいこと

php5.5から標準バンドルされたphpアクセラレータ Zend_optimizer(opcache)を使いたい。
php5.5からはソースからコンパイルすると標準で有効化されているが、yumでインストールすると無効化されている。 php5.5は以下のコマンドでインストールした。

yum --enablerepo=remi-php55 install php php-common php-mbstring php-pdo php-cli php-devel php-gd php-mysql

解決策

以下のコマンドで有効化することができた。

yum --enablerepo=remi-php55 install php-pecl-zendopcache

確認方法

$php -v
Failed loading /usr/local/lib/php/extensions/no-debug-zts-20121212/opcache.so:  /usr/local/lib/php/extensions/no-debug-zts-20121212/opcache.so: cannot open shared object file: No such file or directory
PHP 5.5.12 (cli) (built: May  2 2014 19:53:49)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

ドメイン切替時の.htaccessの設定

前提

新旧2つのドメインが同じパスを指している。
http://old_exsample.com/
http://new_exsample.com/

.htaccessの設定

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^old_exsample\.com
   RewriteRule ^(.*)$ http://new_exsample.com/$1 [R=301,L]
</IfModule>

動作結果

トップページ

http://old_exsample.com/ にアクセスした時
http://new_exsample.com/ にリダイレクト

存在するページ

http://old_exsample.com/index にアクセスした時
http://new_exsample.com/index にリダイレクト

存在しないページ

http://old_exsample.com/tekitou にアクセスした時
http://new_exsample.com/tekitou に404ページにリダイレクト

参考サイト

こせきの技術日記:RewriteRuleの考え方
AIDREAM:.htaccess リライト(サイトの移転・wwwの有無を統一・アクセス制限)

見なおしたら変な内容だなぁ

windowsで特定フォルダ以下の全jpgをカウントする。

やりたいこと

特定のフォルダ以下の全jpg数をカウントする。 サブディレクトリ以下も検索の対象とする。

コマンドプロンプトを使用する

以下の順で実行する。

cd C:\path\to\dir   
dir /s /b /a-d > tmp.txt     
find /c /v "jpg" < tmp.txt 

コマンドの詳細

dir

dir [ファイル名] [/a [:属性]] [/b [/c [/d [/l [/n [/o [:表示順]] [/p] [/q] [/s] [/t [:タイムフィールド]] [/w] [/x] 指定したディレクトリの中にあるファイルの情報を一覧表示するコマンド

/s

指定されたディレクトリが含む全てのファイルを表示

/b

ディレクトリとファイル名のみを表示

/a-d

ディレクトリ以外を表示

find

find [/v] [/c] [/n] [/i] [/off[line]] "文字列" [ファイル名] 指定したファイルから指定した文字列を含む行を検索し結果を表示するコマンド。 

/c

指定した文字列を含む行の数だけ表示

/v

指定した文字列を含まない行をすべて表示

参考サイト

dir find

解決した時の検索ワード

"windows 特定のフォルダ以下 ファイル数のカウント"

Blogに慣れてないので、とにかく慣れるまで書く。

はてなBlogの記法をMarkdownに変更

タイトル通りではてなBlogの記法をMarkdown記法に変更した。 まだまだ慣れてないので覚えておきたい。

参考サイト

はてなで使えるMarkdown記法まとめ とりあえず見出しと埋め込みリンクと引用とコードは覚えた。

検索ワード

"はてなBlog Markdown"

会社で使ってるBacklogもMarkdown記法に変更したい。

Blog開始

Blog開始

WEBEngineerとしてレベルアップのためにBlog書き始めました。

継続こそが力なので、調べてわかったことを短くてもいいから書くようにする。

 

決まり事。

タイトルは逆引き本のように記入する。

出社してたら1日最低1回はググってるはずなので、どんなに些細な事でも書いてライフワークにする。

 

毎日書くための仕組み。

ブックマークバーにBlog追加。

会社のバックログに登録してアラートを立てる。

 

はじめは汚い内容だろうがとにかく書く。