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を無効化
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
指定した文字列を含まない行をすべて表示
参考サイト
解決した時の検索ワード
"windows 特定のフォルダ以下 ファイル数のカウント"
Blogに慣れてないので、とにかく慣れるまで書く。
はてなBlogの記法をMarkdownに変更
タイトル通りではてなBlogの記法をMarkdown記法に変更した。 まだまだ慣れてないので覚えておきたい。
参考サイト
はてなで使えるMarkdown記法まとめ とりあえず見出しと埋め込みリンクと引用とコードは覚えた。
検索ワード
"はてなBlog Markdown"
会社で使ってるBacklogもMarkdown記法に変更したい。