<!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" lang="ja">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" lang="ja">
<![endif]-->
<!--[if !(IE 7) & !(IE 8)]><!-->
<html lang="ja">
<!--<![endif]-->
<head>
<meta http-equiv="Last-Modified" content="Thu, 27 Nov 2014 13:26:02 GMT">
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width">
	<title>fabric | A Convenient Engineer&#039;s Note</title>
	<link rel="profile" href="http://gmpg.org/xfn/11">
	<!--[if lt IE 9]>
	<script src="/wp-content/themes/twentyfourteen/js/html5.js"></script>
	<![endif]-->
<link rel='stylesheet' id='jetpack-subscriptions-css'  href="/wp-content/plugins/jetpack/modules/subscriptions/subscriptions.css?ver=4.0.1" type='text/css' media='all' />
<link rel='stylesheet' id='contact-form-7-css'  href="/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=4.0.1" type='text/css' media='all' />
<link rel='stylesheet' id='jetpack-widgets-css'  href="/wp-content/plugins/jetpack/modules/widgets/widgets.css?ver=20121003" type='text/css' media='all' />
<link rel='stylesheet' id='twentyfourteen-lato-css'  href="//fonts.googleapis.com/css?family=Lato%3A300%2C400%2C700%2C900%2C300italic%2C400italic%2C700italic" type='text/css' media='all' />
<link rel='stylesheet' id='genericons-css'  href="/wp-content/plugins/jetpack/_inc/genericons/genericons/genericons.css?ver=3.1" type='text/css' media='all' />
<link rel='stylesheet' id='twentyfourteen-style-css'  href="/wp-content/themes/twentyfourteen/style.css?ver=4.0.1" type='text/css' media='all' />
<!--[if lt IE 9]>
<link rel='stylesheet' id='twentyfourteen-ie-css'  href="/wp-content/themes/twentyfourteen/css/ie.css?ver=20131205" type='text/css' media='all' />
<![endif]-->
<link rel='stylesheet' id='sharedaddy-css'  href="/wp-content/plugins/jetpack/modules/sharedaddy/sharing.css?ver=3.1.1" type='text/css' media='all' />
<link rel='stylesheet' id='widget-grid-and-list-css'  href="/wp-content/plugins/jetpack/modules/widgets/widget-grid-and-list.css?ver=4.0.1" type='text/css' media='all' />
<script type='text/javascript' src="/wp-includes/js/jquery/jquery.js?ver=1.11.1"></script>
<script type='text/javascript' src="/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1"></script>
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/wp-includes/wlwmanifest.xml" /> 
<meta name="generator" content="WordPress 4.0.1 with StaticPress ver.0.4.3.5" />
<meta http-equiv="Last-Modified" content="Thu, 27 Nov 2014 13:06:47 GMT" />
		<style type="text/css">
						ol.footnotes li {list-style-type:decimal;}
						ol.footnotes{font-size:0.8em; color:#666666;}		</style>
		<!-- BEGIN: WP Social Bookmarking Light -->
<style type="text/css">
.wp_social_bookmarking_light{
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.wp_social_bookmarking_light div{
    float: left !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 5px 0px 0 !important;
    height: 23px !important;
    text-indent: 0 !important;
}
.wp_social_bookmarking_light img{
    border: 0 !important;
    padding: 0;
    margin: 0;
    vertical-align: top !important;
}
.wp_social_bookmarking_light_clear{
    clear: both !important;
}
.wsbl_twitter{
    width: 100px;
}</style>
<!-- END: WP Social Bookmarking Light -->
	<style type="text/css" id="twentyfourteen-header-css">
			.site-title a {
			color: #ffffff;
		}
		</style>
			<link rel="stylesheet" id="custom-css-css" type="text/css" href="/?custom-css=1&#038;csblog=1&#038;cscache=6&#038;csrev=14" />
		</head>

<body class="archive tag tag-fabric tag-46 custom-background masthead-fixed list-view footer-widgets">
<div id="page" class="hfeed site">
	
	<header id="masthead" class="site-header" role="banner">
		<div class="header-main">
			<h1 class="site-title"><a href="/" rel="home">A Convenient Engineer&#039;s Note</a></h1>

			<div class="search-toggle">
				<a href="#search-container" class="screen-reader-text">検索</a>
			</div>

			<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
				<button class="menu-toggle">メインメニュー</button>
				<a class="screen-reader-text skip-link" href="#content">コンテンツへ移動</a>
				<div class="nav-menu"><ul><li class="page_item page-item-10"><a href="/about-this-blog">About This Blog</a></li><li class="page_item page-item-875"><a href="/aws-price-lists">AWS Price Lists</a></li><li class="page_item page-item-11"><a href="/profile">Profile</a></li><li class="page_item page-item-59"><a href="/contact">Contact</a></li></ul></div>
			</nav>
		</div>

		<div id="search-container" class="search-box-wrapper hide">
			<div class="search-box">
				<form role="search" method="get" class="search-form" action="/">
				<label>
					<span class="screen-reader-text">検索:</span>
					<input type="search" class="search-field" placeholder="検索 &hellip;" value="" name="s" title="検索:" />
				</label>
				<input type="submit" class="search-submit" value="検索" />
			</form>			</div>
		</div>
	</header><!-- #masthead -->

	<div id="main" class="site-main">

	<section id="primary" class="content-area">
		<div id="content" class="site-content" role="main">

			
			<header class="archive-header">
				<h1 class="archive-title">タグ別アーカイブ: fabric</h1>

							</header><!-- .archive-header -->

			
<article id="post-653" class="post-653 post type-post status-publish format-standard hentry category-chef category-python tag-chef tag-fabric tag-47">
	
	<header class="entry-header">
				<div class="entry-meta">
			<span class="cat-links"><a href="/memo/category/chef" rel="category tag">Chef</a>, <a href="/memo/category/python" rel="category tag">Python</a></span>
		</div>
		<h1 class="entry-title"><a href="/memo/653" rel="bookmark">fabricでchef-soloの実行環境を整えてみる</a></h1>
		<div class="entry-meta">
			<span class="entry-date"><a href="/memo/653" rel="bookmark"><time class="entry-date" datetime="2013-05-22T01:06:09+00:00">2013/05/22</time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="/memo/author/marcy" rel="author">marcy</a></span></span>		</div><!-- .entry-meta -->
	</header><!-- .entry-header -->

		<div class="entry-content">
		<p>AWS環境を除き、SSHアカウントがパスワードでの管理がメインとなっている今の職場環境にて、</p>
<p>chef-soloを実行する上でまず最初にクリアすべき、</p>
<p><strong>sudo権限のあるSSHキーファイルでログインできるユーザ</strong>の作成と、</p>
<p><strong>chef-solo実行環境を整えて、あとはレシピを適用するだけ！</strong>な状態を作る作業を自動化すべく、</p>
<p>fabricで実装してみました。</p>
<p>&nbsp;</p>
<p>環境はCentOS6.4(x86_64)です。</p>
<p>&nbsp;</p>
<p>fabricを実行する環境ではchef-solo,knife-solo環境が整っていることが前提です。</p>
<p>&nbsp;</p>
<p>↓こんな感じです。</p>
<pre>import cuisine
from fabric.api import run, cd, abort, require, sudo, env, put, prompt, get, local
from fabric.decorators import runs_once, roles
from fabric.contrib.console import confirm

env.user = ''
env.password = ''
env.hosts = ['']

def prepare_chef():
    sudo('useradd chefuser')
    sudo('passwd -fu chefuser')
    sudo('ssh-keygen', user="chefuser")
    sudo('cat /home/chefuser/.ssh/id_rsa.pub &gt;&gt; /home/chefuser/.ssh/authorized_keys', user="chefuser")
    get('/home/chefuser/.ssh/id_rsa', '~/' + env.host + '.pem')
    sudo('chmod 600 /home/chefuser/.ssh/authorized_keys')
    sudo('echo "chefuser ALL=(ALL) ALL" &gt;&gt; /etc/sudoers')
    local('chmod 600 ~/' + env.host + '.pem')
    local('knife solo prepare chefuser@' + env.host + ' -i ~/' + env.host + '.pem')</pre>
<p>実行すると、ホームディレクトリ下に<em>接続先.pem</em>というSSHキーファイルができるので、</p>
<p>レシピを適用する場合はそれを利用します。</p>
<p>&nbsp;</p>
<p>SSHキーの生成時に対話入力を求められてしまうので、</p>
<p>そこも自動化したいのですが、</p>
<p>未熟故にexpect使うくらいしか方法が思い浮かびません・・・</p>
<p>&nbsp;</p>
<div class='wp_social_bookmarking_light'><div class="wsbl_hatena_button"><a onclick="javascript:pageTracker._trackPageview('/outgoing/b.hatena.ne.jp/entry/http://blog.memolib.com/memo/653');"  href="http://b.hatena.ne.jp/entry/http://blog.memolib.com/memo/653" class="hatena-bookmark-button" data-hatena-bookmark-title="fabricでchef-soloの実行環境を整えてみる" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"> <img src="//b.hatena.ne.jp/images/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="//b.hatena.ne.jp/js/bookmark_button.js" charset="utf-8" async="async"></script></div><div class="wsbl_evernote"><a href="#" onclick="Evernote.doClip({ title:'fabricでchef-soloの実行環境を整えてみる', url:'http://blog.memolib.com/memo/653' });return false;"><img src="http://static.evernote.com/article-clipper.png" /></a></div></div><br class='wp_social_bookmarking_light_clear' /><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon sd-sharing"><div class="sd-content"><ul><li class="share-facebook"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/653?share=facebook');" rel="nofollow" class="share-facebook sd-button share-icon no-text"  href="/memo/653?share=facebook" target="_blank" title="Facebook で共有" id="sharing-facebook-653"><span></span></a></li><li class="share-twitter"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/653?share=twitter');" rel="nofollow" class="share-twitter sd-button share-icon no-text"  href="/memo/653?share=twitter" target="_blank" title="クリックして Twitter で共有" id="sharing-twitter-653"><span></span></a></li><li class="share-google-plus-1"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/653?share=google-plus-1');" rel="nofollow" class="share-google-plus-1 sd-button share-icon no-text"  href="/memo/653?share=google-plus-1" target="_blank" title="クリックして Google+ で共有" id="sharing-google-653"><span></span></a></li><li class="share-tumblr"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/653?share=tumblr');" rel="nofollow" class="share-tumblr sd-button share-icon no-text"  href="/memo/653?share=tumblr" target="_blank" title="クリックして Tumblr で共有"><span></span></a></li><li class="share-linkedin"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/653?share=linkedin');" rel="nofollow" class="share-linkedin sd-button share-icon no-text"  href="/memo/653?share=linkedin" target="_blank" title="クリックして LinkedIn で共有" id="sharing-linkedin-653"><span></span></a></li><li class="share-end"></li></ul></div></div></div>	</div><!-- .entry-content -->
	
	<footer class="entry-meta"><span class="tag-links"><a href="/memo/tag/chef" rel="tag">Chef</a><a href="/memo/tag/fabric" rel="tag">fabric</a><a href="/memo/tag/%e8%87%aa%e5%8b%95%e5%8c%96" rel="tag">自動化</a></span></footer></article><!-- #post-## -->

<article id="post-620" class="post-620 post type-post status-publish format-standard hentry category-python tag-fabric tag-python tag-50 tag-47">
	
	<header class="entry-header">
				<div class="entry-meta">
			<span class="cat-links"><a href="/memo/category/python" rel="category tag">Python</a></span>
		</div>
		<h1 class="entry-title"><a href="/memo/620" rel="bookmark">fabricでSVNやGitを使わないデプロイツールを作成中</a></h1>
		<div class="entry-meta">
			<span class="entry-date"><a href="/memo/620" rel="bookmark"><time class="entry-date" datetime="2013-04-26T00:59:07+00:00">2013/04/26</time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="/memo/author/marcy" rel="author">marcy</a></span></span>		</div><!-- .entry-meta -->
	</header><!-- .entry-header -->

		<div class="entry-content">
		<p>久しぶりのメモです。</p>
<p>最近、仕事でモチベーションというかテンションが下がるようなことが多くて、</p>
<p>なかなか書く気になれませんでした・・・</p>
<p>&nbsp;</p>
<p><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/403');" title="自動化について。愚痴っぽい独り言 ※一部不適切な発言を含みます"  href="/memo/403">以前書いた</a>ように</p>
<h2>誰もやってくれないならシステムにやってもらおう！</h2>
<p>ということで、第一弾として・・・</p>
<p>&nbsp;</p>
<p>まだ未完成ですが、作ってみました。</p>
<p><strong>SVNとかGitとかで同期コマンド叩くだけなら楽チン</strong>だったんでしょうが、</p>
<p>社内でしかアクセスできないリポジトリをおいそれと移行できなかったりと色々あるので、</p>
<p>リリース対象に一意な識別子をつけてもらい、</p>
<p>万が一切り戻したい場合には、</p>
<p>その識別子を入力すると元に戻るようなものを考えました。</p>
<p>&nbsp;</p>
<p>こんな感じです。</p>
<pre>import cuisine
from fabric.api import run, cd, abort, require, sudo, env, put, prompt, local
from fabric.decorators import runs_once, roles
from fabric.contrib.console import confirm

env.user = ''
env.password = ''
env.hosts = ['']
env.site_directory_name = ''                 #リリース対象ディレクトリ
env.site_directory_path = '/var/www/html'    #リリース対象ディレクトリへのパス

#リリース
def release():
    identifier = prompt('Enter The Identifier: ')                #識別子を入力

    bakup_target = "/tmp/backupTarget" +identifier;              #バックアップリストファイル名

    local('find * | grep ".*/.\+\..*" &gt; %s' % bakup_target)   #バックアップリストファイルに今回のリリース対象を書き出し
    put(bakup_target, bakup_target)                              #バックアップリストファイルを転送

    deploy_dir = '/tmp/deploy';                                  #作業ディレクトリパス
    deploy_dir_revision = deploy_dir + '/' +identifier;          #今回の作業ディレクトリ

    #作業ディレクトリ作成
    if not cuisine.file_exists(deploy_dir) :
        run('mkdir ' + deploy_dir)
    if not cuisine.file_exists(deploy_dir_revision) :
        run('mkdir ' + deploy_dir_revision)

    #リリース対象をtarで固める
    local('tar -cvf deploy.tar %(site_directory_name)s' % env)
    put('deploy.tar', deploy_dir_revision + '/deploy.tar')

    #リリース
    with cd('%(site_directory_path)s' % env) :
        run('cat ' + bakup_target + ' | xargs tar -rvf ' + deploy_dir_revision + '/backup.tar')  #バックアップリストに記載されているファイル群をtarで固めてバックアップ
        run('tar -xvf' + deploy_dir_revision + '/deploy.tar')                                    #上書きリリース

    local('rm -f deploy.tar')

#切り戻し
def rollback():
    identifier= prompt('EnterThe Identifier: ')  #識別子を入力

    #対応する識別子の作業ディレクトリ上にあるtarバックアップを元の場所に展開する
    deploy_dir = '/tmp/deploy';
    deploy_dir_revision = deploy_dir + '/' +identifier;
    backup_file_path = deploy_dir_revision + '/backup.tar';
    if cuisine.file_exists(backup_file_path) :
        with cd('%(site_directory_path)s' % env) :
            sudo('tar -xvf' + backup_file_path)</pre>
<p><strong>あとは、上書きじゃなくて削除する場合にバックアップと削除ができる方法があれば良い感じなんですが・・・</strong></p>
<p>fabricはpythonっていうよりも、</p>
<p>pythonの構文でシェルを書けてリモートで実行できるツールって感じです。</p>
<p>個人的にシェルスクリプトの特殊な構文よりも書きやすいので、</p>
<p>日々のちょっとした作業にも使っていきたいです。</p>
<p>&nbsp;</p>
<div class='wp_social_bookmarking_light'><div class="wsbl_hatena_button"><a onclick="javascript:pageTracker._trackPageview('/outgoing/b.hatena.ne.jp/entry/http://blog.memolib.com/memo/620');"  href="http://b.hatena.ne.jp/entry/http://blog.memolib.com/memo/620" class="hatena-bookmark-button" data-hatena-bookmark-title="fabricでSVNやGitを使わないデプロイツールを作成中" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"> <img src="//b.hatena.ne.jp/images/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="//b.hatena.ne.jp/js/bookmark_button.js" charset="utf-8" async="async"></script></div><div class="wsbl_evernote"><a href="#" onclick="Evernote.doClip({ title:'fabricでSVNやGitを使わないデプロイツールを作成中', url:'http://blog.memolib.com/memo/620' });return false;"><img src="http://static.evernote.com/article-clipper.png" /></a></div></div><br class='wp_social_bookmarking_light_clear' /><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon sd-sharing"><div class="sd-content"><ul><li class="share-facebook"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/620?share=facebook');" rel="nofollow" class="share-facebook sd-button share-icon no-text"  href="/memo/620?share=facebook" target="_blank" title="Facebook で共有" id="sharing-facebook-620"><span></span></a></li><li class="share-twitter"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/620?share=twitter');" rel="nofollow" class="share-twitter sd-button share-icon no-text"  href="/memo/620?share=twitter" target="_blank" title="クリックして Twitter で共有" id="sharing-twitter-620"><span></span></a></li><li class="share-google-plus-1"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/620?share=google-plus-1');" rel="nofollow" class="share-google-plus-1 sd-button share-icon no-text"  href="/memo/620?share=google-plus-1" target="_blank" title="クリックして Google+ で共有" id="sharing-google-620"><span></span></a></li><li class="share-tumblr"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/620?share=tumblr');" rel="nofollow" class="share-tumblr sd-button share-icon no-text"  href="/memo/620?share=tumblr" target="_blank" title="クリックして Tumblr で共有"><span></span></a></li><li class="share-linkedin"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/620?share=linkedin');" rel="nofollow" class="share-linkedin sd-button share-icon no-text"  href="/memo/620?share=linkedin" target="_blank" title="クリックして LinkedIn で共有" id="sharing-linkedin-620"><span></span></a></li><li class="share-end"></li></ul></div></div></div>	</div><!-- .entry-content -->
	
	<footer class="entry-meta"><span class="tag-links"><a href="/memo/tag/fabric" rel="tag">fabric</a><a href="/memo/tag/python" rel="tag">Python</a><a href="/memo/tag/%e3%83%87%e3%83%97%e3%83%ad%e3%82%a4" rel="tag">デプロイ</a><a href="/memo/tag/%e8%87%aa%e5%8b%95%e5%8c%96" rel="tag">自動化</a></span></footer></article><!-- #post-## -->

<article id="post-403" class="post-403 post type-post status-publish format-standard hentry category-other tag-chef tag-fabric tag-48 tag-47">
	
	<header class="entry-header">
				<div class="entry-meta">
			<span class="cat-links"><a href="/memo/category/other" rel="category tag">Other</a></span>
		</div>
		<h1 class="entry-title"><a href="/memo/403" rel="bookmark">自動化について。愚痴っぽい独り言 ※一部不適切な発言を含みます</a></h1>
		<div class="entry-meta">
			<span class="entry-date"><a href="/memo/403" rel="bookmark"><time class="entry-date" datetime="2013-03-28T02:51:49+00:00">2013/03/28</time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="/memo/author/marcy" rel="author">marcy</a></span></span>		</div><!-- .entry-meta -->
	</header><!-- .entry-header -->

		<div class="entry-content">
		<p>少し不適切な発言をします。</p>
<p>僕はまだまだヒヨッコであり、できないこともたくさんあります。<br />
以下に書かれていることは勢いに任せて完全に自分を棚に上げています。<br />
もし読む場合は、生温かい目で読んでやってください。</p>
<p>このところ、意識の低い・できない人達に<br />
<strong>「なんでそんなこともできない（分からない）の？何年エンジニアやってるの？バカなの？死ぬの？」<br />
</strong></p>
<p>また、何故偉い人達の大半は、<br />
<strong>「意識の低い・できない人達の尻拭いをしている人が居るからこそ成り立っている現状を顧みないのか？」</strong></p>
<p>…とイライラしていました。<br />
（今もまだ少ししています）</p>
<p>ですが、最近思うのです。</p>
<p><strong>そういう人達が何かしてくれることを期待するからイライラする</strong>のであって、<br />
自分はエンジニアなのだから、<br />
<strong>誰もやってくれないならシステムにやってもらえば良い</strong>んです。<br />
そういうシステムを作れば良いんです。</p>
<p><strong>「期間が短い」「人が足りない</strong>」と嘆いても、<br />
どうやっても<strong>人と時間は作れません</strong>。</p>
<p>でも、<strong>人がやっていた作業を自動化して時間に余裕を作る</strong>ことはできます。</p>
<p><strong>ある程度のものであれば誰でも安定して作れるような枠組み</strong>を作って、<br />
1人あたりの効率を上げることができます。</p>
<p>後者はそう簡単にはできませんが、<br />
前者はそう難しいことではありません。</p>
<p>というわけで、<br />
個人的に<a onclick="javascript:pageTracker._trackPageview('/outgoing/www.opscode.com/chef/');"  href="http://www.opscode.com/chef/">chef</a>と<a onclick="javascript:pageTracker._trackPageview('/outgoing/docs.fabfile.org/en/1.6/');"  href="http://docs.fabfile.org/en/1.6/">fabric</a>のお勉強中です。<br />
<a onclick="javascript:pageTracker._trackPageview('/outgoing/docs.fabfile.org/en/1.6/');"  href="http://docs.fabfile.org/en/1.6/">fabric</a>は大分分かってきたので、<br />
近いうちにまとめておきたいです。</p>
<p>これらを使いこなせば、きっと作業量が減ることでしょう（主に自分のw）</p>
<p>カタログスペックを語っても、<br />
有効性が証明できなければ意味が無いので、<br />
今はあくまで個人的にお勉強中です。</p>
<div class='wp_social_bookmarking_light'><div class="wsbl_hatena_button"><a onclick="javascript:pageTracker._trackPageview('/outgoing/b.hatena.ne.jp/entry/http://blog.memolib.com/memo/403');"  href="http://b.hatena.ne.jp/entry/http://blog.memolib.com/memo/403" class="hatena-bookmark-button" data-hatena-bookmark-title="自動化について。愚痴っぽい独り言 ※一部不適切な発言を含みます" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"> <img src="//b.hatena.ne.jp/images/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="//b.hatena.ne.jp/js/bookmark_button.js" charset="utf-8" async="async"></script></div><div class="wsbl_evernote"><a href="#" onclick="Evernote.doClip({ title:'自動化について。愚痴っぽい独り言 ※一部不適切な発言を含みます', url:'http://blog.memolib.com/memo/403' });return false;"><img src="http://static.evernote.com/article-clipper.png" /></a></div></div><br class='wp_social_bookmarking_light_clear' /><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon sd-sharing"><div class="sd-content"><ul><li class="share-facebook"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/403?share=facebook');" rel="nofollow" class="share-facebook sd-button share-icon no-text"  href="/memo/403?share=facebook" target="_blank" title="Facebook で共有" id="sharing-facebook-403"><span></span></a></li><li class="share-twitter"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/403?share=twitter');" rel="nofollow" class="share-twitter sd-button share-icon no-text"  href="/memo/403?share=twitter" target="_blank" title="クリックして Twitter で共有" id="sharing-twitter-403"><span></span></a></li><li class="share-google-plus-1"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/403?share=google-plus-1');" rel="nofollow" class="share-google-plus-1 sd-button share-icon no-text"  href="/memo/403?share=google-plus-1" target="_blank" title="クリックして Google+ で共有" id="sharing-google-403"><span></span></a></li><li class="share-tumblr"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/403?share=tumblr');" rel="nofollow" class="share-tumblr sd-button share-icon no-text"  href="/memo/403?share=tumblr" target="_blank" title="クリックして Tumblr で共有"><span></span></a></li><li class="share-linkedin"><a onclick="javascript:pageTracker._trackPageview('/outgoing/blog.memolib.com/memo/403?share=linkedin');" rel="nofollow" class="share-linkedin sd-button share-icon no-text"  href="/memo/403?share=linkedin" target="_blank" title="クリックして LinkedIn で共有" id="sharing-linkedin-403"><span></span></a></li><li class="share-end"></li></ul></div></div></div>	</div><!-- .entry-content -->
	
	<footer class="entry-meta"><span class="tag-links"><a href="/memo/tag/chef" rel="tag">Chef</a><a href="/memo/tag/fabric" rel="tag">fabric</a><a href="/memo/tag/%e7%8b%ac%e3%82%8a%e8%a8%80" rel="tag">独り言</a><a href="/memo/tag/%e8%87%aa%e5%8b%95%e5%8c%96" rel="tag">自動化</a></span></footer></article><!-- #post-## -->
		</div><!-- #content -->
	</section><!-- #primary -->

<div id="content-sidebar" class="content-sidebar widget-area" role="complementary">
	<aside id="twitter_timeline-2" class="widget widget_twitter_timeline"><h1 class="widget-title">Twitter</h1><a class="twitter-timeline" data-widget-id="294378144293584896" data-theme="dark" data-link-color="#f96e5b" data-border-color="#e8e8e8" data-tweet-limit="5" width="200" height="100" lang="JA">ツイート</a></aside><aside id="adsense-manager-3" class="widget widget_adsensem"><h1 class="widget-title">Ads</h1><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- レスポンシブ -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-0514806099459849"
     data-ad-slot="4590228127"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></aside></aside><aside id="rss_links-3" class="widget widget_rss_links"><h1 class="widget-title">RSS</h1><ul><li><a href="/feed" title="投稿 を購読">RSS - 投稿</a></li><li><a href="/comments/feed" title="コメント を購読">RSS - コメント</a></li></ul>
</aside></div><!-- #content-sidebar -->
<div id="secondary">
		<h2 class="site-description">雑用日誌</h2>
	
	
		<div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
		<aside id="text-5" class="widget widget_text"><h1 class="widget-title">Search</h1>			<div class="textwidget"><form action="http://www.google.co.jp" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="partner-pub-0514806099459849:3946729320" />
    <input type="hidden" name="ie" value="UTF-8" />
    <input type="text" name="q" size="25" />
    <input type="submit" name="sa" value="検索" />
  </div>
</form>
</div>
		</aside>		<aside id="recent-posts-2" class="widget widget_recent_entries">		<h1 class="widget-title">Latest Posts</h1>		<ul>
					<li>
				<a href="/memo/1135">isucon4予選AMIが公開されたのでPHPでやってみた（score:54491）</a>
						</li>
					<li>
				<a href="/memo/1122">AttributesにHashを使いたくなったらLWRPにしろ（Chef）</a>
						</li>
					<li>
				<a href="/memo/1090">Google Spreadsheet Add-on「AWS Pricing Helper」を作った #jawsug #festa2014</a>
						</li>
					<li>
				<a href="/memo/1073">JAWS Festa Tohoku 2014へ行って地味な（？）発表してきた #jawsug #festa2014</a>
						</li>
					<li>
				<a href="/memo/1038">Windows向けのChefカスタムリソース(LWRP)を作ってみた</a>
						</li>
				</ul>
		</aside><aside id="archives-2" class="widget widget_archive"><h1 class="widget-title">Archive</h1>		<ul>
	<li><a href="/memo/date/2014/10">2014年10月</a>&nbsp;(2)</li>
	<li><a href="/memo/date/2014/09">2014年9月</a>&nbsp;(2)</li>
	<li><a href="/memo/date/2014/07">2014年7月</a>&nbsp;(1)</li>
	<li><a href="/memo/date/2014/06">2014年6月</a>&nbsp;(3)</li>
	<li><a href="/memo/date/2014/04">2014年4月</a>&nbsp;(4)</li>
	<li><a href="/memo/date/2014/03">2014年3月</a>&nbsp;(2)</li>
	<li><a href="/memo/date/2014/02">2014年2月</a>&nbsp;(3)</li>
	<li><a href="/memo/date/2014/01">2014年1月</a>&nbsp;(6)</li>
	<li><a href="/memo/date/2013/12">2013年12月</a>&nbsp;(1)</li>
	<li><a href="/memo/date/2013/09">2013年9月</a>&nbsp;(2)</li>
	<li><a href="/memo/date/2013/05">2013年5月</a>&nbsp;(3)</li>
	<li><a href="/memo/date/2013/04">2013年4月</a>&nbsp;(1)</li>
	<li><a href="/memo/date/2013/03">2013年3月</a>&nbsp;(2)</li>
	<li><a href="/memo/date/2013/02">2013年2月</a>&nbsp;(5)</li>
	<li><a href="/memo/date/2013/01">2013年1月</a>&nbsp;(13)</li>
	<li><a href="/memo/date/2012/12">2012年12月</a>&nbsp;(2)</li>
		</ul>
</aside><aside id="categories-2" class="widget widget_categories"><h1 class="widget-title">Category</h1>		<ul>
	<li class="cat-item cat-item-39"><a href="/memo/category/aws" >AWS</a> (15)
<ul class='children'>
	<li class="cat-item cat-item-104"><a href="/memo/category/aws/cloudwatch" >CloudWatch</a> (1)
</li>
	<li class="cat-item cat-item-42"><a href="/memo/category/aws/ec2" >EC2</a> (9)
</li>
	<li class="cat-item cat-item-40"><a href="/memo/category/aws/elb" >ELB</a> (2)
</li>
	<li class="cat-item cat-item-65"><a href="/memo/category/aws/rds" >RDS</a> (1)
</li>
	<li class="cat-item cat-item-54"><a href="/memo/category/aws/route53" >Route53</a> (1)
</li>
	<li class="cat-item cat-item-59"><a href="/memo/category/aws/vpc" >VPC</a> (4)
</li>
	<li class="cat-item cat-item-62"><a href="/memo/category/aws/workspaces" >WorkSpaces</a> (1)
</li>
</ul>
</li>
	<li class="cat-item cat-item-44"><a href="/memo/category/chef" >Chef</a> (13)
</li>
	<li class="cat-item cat-item-86"><a href="/memo/category/docker" >Docker</a> (1)
</li>
	<li class="cat-item cat-item-12"><a href="/memo/category/linux" >Linux</a> (10)
<ul class='children'>
	<li class="cat-item cat-item-13"><a href="/memo/category/linux/centos" >CentOS</a> (9)
</li>
</ul>
</li>
	<li class="cat-item cat-item-14"><a href="/memo/category/mysql" >MySQL</a> (8)
<ul class='children'>
	<li class="cat-item cat-item-72"><a href="/memo/category/mysql/mroonga" >Mroonga</a> (1)
</li>
</ul>
</li>
	<li class="cat-item cat-item-58"><a href="/memo/category/network" >Network</a> (5)
<ul class='children'>
	<li class="cat-item cat-item-56"><a href="/memo/category/network/vpn" >VPN</a> (4)
</li>
</ul>
</li>
	<li class="cat-item cat-item-38"><a href="/memo/category/nginx" >Nginx</a> (1)
</li>
	<li class="cat-item cat-item-3"><a href="/memo/category/nosql" >NoSQL</a> (2)
</li>
	<li class="cat-item cat-item-1"><a href="/memo/category/other" >Other</a> (15)
</li>
	<li class="cat-item cat-item-2"><a href="/memo/category/php" >PHP</a> (8)
</li>
	<li class="cat-item cat-item-49"><a href="/memo/category/python" >Python</a> (2)
</li>
	<li class="cat-item cat-item-67"><a href="/memo/category/ruby" >Ruby</a> (1)
</li>
	<li class="cat-item cat-item-64"><a href="/memo/category/serverspec" >Serverspec</a> (1)
</li>
	<li class="cat-item cat-item-69"><a href="/memo/category/windows-azure" >Windows Azure</a> (1)
</li>
	<li class="cat-item cat-item-99"><a href="/memo/category/windows-server" >Windows Server</a> (2)
</li>
		</ul>
</aside>	</div><!-- #primary-sidebar -->
	</div><!-- #secondary -->

		</div><!-- #main -->

		<footer id="colophon" class="site-footer" role="contentinfo">

			
<div id="supplementary">
	<div id="footer-sidebar" class="footer-sidebar widget-area" role="complementary">
		<aside id="calendar-2" class="widget widget_calendar"><h1 class="widget-title">Cal</h1><div id="calendar_wrap"><table id="wp-calendar">
	<caption>2014年11月</caption>
	<thead>
	<tr>
		<th scope="col" title="月曜日">月</th>
		<th scope="col" title="火曜日">火</th>
		<th scope="col" title="水曜日">水</th>
		<th scope="col" title="木曜日">木</th>
		<th scope="col" title="金曜日">金</th>
		<th scope="col" title="土曜日">土</th>
		<th scope="col" title="日曜日">日</th>
	</tr>
	</thead>

	<tfoot>
	<tr>
		<td colspan="3" id="prev"><a href="/memo/date/2014/10">&laquo; 10月</a></td>
		<td class="pad">&nbsp;</td>
		<td colspan="3" id="next" class="pad">&nbsp;</td>
	</tr>
	</tfoot>

	<tbody>
	<tr>
		<td colspan="5" class="pad">&nbsp;</td><td>1</td><td>2</td>
	</tr>
	<tr>
		<td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td>
	</tr>
	<tr>
		<td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td>
	</tr>
	<tr>
		<td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td><td>23</td>
	</tr>
	<tr>
		<td>24</td><td>25</td><td>26</td><td id="today">27</td><td>28</td><td>29</td><td>30</td>
	</tr>
	</tbody>
	</table></div></aside><aside id="tag_cloud-2" class="widget widget_tag_cloud"><h1 class="widget-title">Tags</h1><div class="tagcloud"><a href="/memo/tag/amazon-linux" class='tag-link-57' title='5件のトピック' style='font-size: 19.2pt;'>Amazon Linux</a>
<a href="/memo/tag/aws" class='tag-link-39' title='1件のトピック' style='font-size: 8pt;'>AWS</a>
<a href="/memo/tag/aws-tools-for-windows-powershell" class='tag-link-101' title='2件のトピック' style='font-size: 12.2pt;'>AWS Tools for Windows PowerShell</a>
<a href="/memo/tag/centos" class='tag-link-13' title='3件のトピック' style='font-size: 15pt;'>CentOS</a>
<a href="/memo/tag/chef" class='tag-link-44' title='6件のトピック' style='font-size: 20.833333333333pt;'>Chef</a>
<a href="/memo/tag/ec2" class='tag-link-42' title='6件のトピック' style='font-size: 20.833333333333pt;'>EC2</a>
<a href="/memo/tag/fabric" class='tag-link-46' title='3件のトピック' style='font-size: 15pt;'>fabric</a>
<a href="/memo/tag/fluentd" class='tag-link-10' title='1件のトピック' style='font-size: 8pt;'>Fluentd</a>
<a href="/memo/tag/gem" class='tag-link-84' title='2件のトピック' style='font-size: 12.2pt;'>gem</a>
<a href="/memo/tag/hyper-v" class='tag-link-18' title='3件のトピック' style='font-size: 15pt;'>Hyper-V</a>
<a href="/memo/tag/ios" class='tag-link-35' title='1件のトピック' style='font-size: 8pt;'>iOS</a>
<a href="/memo/tag/iphone5" class='tag-link-37' title='1件のトピック' style='font-size: 8pt;'>iPhone5</a>
<a href="/memo/tag/jawsug" class='tag-link-106' title='2件のトピック' style='font-size: 12.2pt;'>jawsug</a>
<a href="/memo/tag/log4php" class='tag-link-8' title='1件のトピック' style='font-size: 8pt;'>log4php</a>
<a href="/memo/tag/lwrp" class='tag-link-105' title='2件のトピック' style='font-size: 12.2pt;'>LWRP</a>
<a href="/memo/tag/mongodb" class='tag-link-9' title='2件のトピック' style='font-size: 12.2pt;'>mongoDB</a>
<a href="/memo/tag/mysql" class='tag-link-14' title='7件のトピック' style='font-size: 22pt;'>MySQL</a>
<a href="/memo/tag/mysql5-5" class='tag-link-17' title='2件のトピック' style='font-size: 12.2pt;'>MySQL5.5</a>
<a href="/memo/tag/mysql5-6" class='tag-link-27' title='3件のトピック' style='font-size: 15pt;'>MySQL5.6</a>
<a href="/memo/tag/mysql5-6%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9" class='tag-link-29' title='1件のトピック' style='font-size: 8pt;'>MySQL5.6リリース</a>
<a href="/memo/tag/nginx" class='tag-link-38' title='1件のトピック' style='font-size: 8pt;'>Nginx</a>
<a href="/memo/tag/pdo" class='tag-link-19' title='1件のトピック' style='font-size: 8pt;'>PDO</a>
<a href="/memo/tag/pear" class='tag-link-20' title='2件のトピック' style='font-size: 12.2pt;'>PEAR</a>
<a href="/memo/tag/php" class='tag-link-2' title='6件のトピック' style='font-size: 20.833333333333pt;'>PHP</a>
<a href="/memo/tag/php%e8%a8%ad%e5%ae%9a" class='tag-link-11' title='1件のトピック' style='font-size: 8pt;'>PHP設定</a>
<a href="/memo/tag/rockmongo" class='tag-link-33' title='1件のトピック' style='font-size: 8pt;'>RockMongo</a>
<a href="/memo/tag/rpm" class='tag-link-23' title='1件のトピック' style='font-size: 8pt;'>RPM</a>
<a href="/memo/tag/session" class='tag-link-6' title='1件のトピック' style='font-size: 8pt;'>Session</a>
<a href="/memo/tag/session-use_trans_sid" class='tag-link-7' title='1件のトピック' style='font-size: 8pt;'>session.use_trans_sid</a>
<a href="/memo/tag/softether-vpn" class='tag-link-60' title='4件のトピック' style='font-size: 17.333333333333pt;'>SoftEther VPN</a>
<a href="/memo/tag/test-kitchen" class='tag-link-83' title='2件のトピック' style='font-size: 12.2pt;'>test-kitchen</a>
<a href="/memo/tag/var_dump" class='tag-link-21' title='2件のトピック' style='font-size: 12.2pt;'>Var_Dump</a>
<a href="/memo/tag/windows%e3%81%a7%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%a8%e3%81%8b%e8%83%b8%e7%86%b1" class='tag-link-102' title='2件のトピック' style='font-size: 12.2pt;'>Windowsで自動化とか胸熱</a>
<a href="/memo/tag/yum" class='tag-link-16' title='3件のトピック' style='font-size: 15pt;'>yum</a>
<a href="/memo/tag/%e3%82%a4%e3%83%b3%e3%83%87%e3%83%83%e3%82%af%e3%82%b9" class='tag-link-26' title='1件のトピック' style='font-size: 8pt;'>インデックス</a>
<a href="/memo/tag/%e3%82%af%e3%83%a9%e3%83%83%e3%82%b7%e3%83%a5" class='tag-link-30' title='1件のトピック' style='font-size: 8pt;'>クラッシュ</a>
<a href="/memo/tag/%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%ac%e3%82%bd%e3%83%b3" class='tag-link-25' title='5件のトピック' style='font-size: 19.2pt;'>チューニンガソン</a>
<a href="/memo/tag/%e3%83%84%e3%83%bc%e3%83%ab" class='tag-link-34' title='1件のトピック' style='font-size: 8pt;'>ツール</a>
<a href="/memo/tag/%e3%83%88%e3%83%a9%e3%83%96%e3%83%ab" class='tag-link-31' title='1件のトピック' style='font-size: 8pt;'>トラブル</a>
<a href="/memo/tag/%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8" class='tag-link-24' title='1件のトピック' style='font-size: 8pt;'>パッケージ</a>
<a href="/memo/tag/%e3%83%aa%e3%82%ab%e3%83%90%e3%83%aa" class='tag-link-32' title='1件のトピック' style='font-size: 8pt;'>リカバリ</a>
<a href="/memo/tag/%e3%83%ac%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3" class='tag-link-28' title='1件のトピック' style='font-size: 8pt;'>レプリケーション</a>
<a href="/memo/tag/%e4%b8%8d%e5%85%b7%e5%90%88" class='tag-link-36' title='1件のトピック' style='font-size: 8pt;'>不具合</a>
<a href="/memo/tag/%e6%84%9f%e6%83%b3" class='tag-link-90' title='2件のトピック' style='font-size: 12.2pt;'>感想</a>
<a href="/memo/tag/%e8%87%aa%e5%8b%95%e5%8c%96" class='tag-link-47' title='6件のトピック' style='font-size: 20.833333333333pt;'>自動化</a></div>
</aside><aside id="top-posts-2" class="widget widget_top-posts"><h1 class="widget-title">Ranking</h1><ul><li><a href="/memo/736" class="bump-view" data-bump-view="tp">SoftEther VPNでEC2(Amazon Linux)に繋いでみた①（導入編）</a></li>
<li><a href="/memo/746" class="bump-view" data-bump-view="tp">SoftEther VPNでEC2(Amazon Linux)に繋いでみた②（設定編）</a></li>
<li><a href="/memo/156" class="bump-view" data-bump-view="tp">第5弾！ Tuningathon（チューニンガソン）で優勝した時にやったこと</a></li>
<li><a href="/memo/118" class="bump-view" data-bump-view="tp">MySQLがクラッシュした時にやったこと</a></li>
<li><a href="/memo/942" class="bump-view" data-bump-view="tp">kitchen-dockerでEC2の料金をかけず、高速にAmazon LinuxでのCookbookのテストを行う方法</a></li>
</ul></aside><aside id="adsense-manager-5" class="widget widget_adsensem"><h1 class="widget-title">Ads</h1><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- レスポンシブ -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-0514806099459849"
     data-ad-slot="4590228127"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></aside></aside>	</div><!-- #footer-sidebar -->
</div><!-- #supplementary -->

			<div class="site-info">
								<a href="http://ja.wordpress.org/">Proudly powered by WordPress</a>
			</div><!-- .site-info -->
		</footer><!-- #colophon -->
	</div><!-- #page -->

	
<!-- tracker added by Ultimate Google Analytics plugin v1.6.0: http://www.oratransplant.nl/uga -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-37193543-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
<!-- AdSense Manager v4.0.3 (4.191 seconds.) -->	<div style="display:none">
	</div>
                <script type="text/javascript">
                        !function(d,s,id){
                                var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
                                if(!d.getElementById(id)){
                                        js=d.createElement(s);
                                        js.id=id;js.src=p+"://platform.twitter.com/widgets.js";
                                        fjs.parentNode.insertBefore(js,fjs);
                                }
                        }
                        (document,"script","twitter-wjs");
                </script>
        <!-- BEGIN: WP Social Bookmarking Light -->
<script type="text/javascript" src="http://static.evernote.com/noteit.js"></script>
<!-- END: WP Social Bookmarking Light -->

	<script type="text/javascript">
		WPCOM_sharing_counts = {"http:\/\/blog.memolib.com\/memo\/653":653,"http:\/\/blog.memolib.com\/memo\/620":620,"http:\/\/blog.memolib.com\/memo\/403":403}	</script>
		<script type="text/javascript">
		jQuery(document).on( 'ready post-load', function(){
			jQuery( 'a.share-facebook' ).on( 'click', function() {
				window.open( jQuery(this).attr( 'href' ), 'wpcomfacebook', 'menubar=1,resizable=1,width=600,height=400' );
				return false;
			});
		});
		</script>
				<script type="text/javascript">
		jQuery(document).on( 'ready post-load', function(){
			jQuery( 'a.share-twitter' ).on( 'click', function() {
				window.open( jQuery(this).attr( 'href' ), 'wpcomtwitter', 'menubar=1,resizable=1,width=600,height=350' );
				return false;
			});
		});
		</script>
				<script type="text/javascript">
		jQuery(document).on( 'ready post-load', function(){
			jQuery( 'a.share-google-plus-1' ).on( 'click', function() {
				window.open( jQuery(this).attr( 'href' ), 'wpcomgoogle-plus-1', 'menubar=1,resizable=1,width=480,height=550' );
				return false;
			});
		});
		</script>
				<script type="text/javascript">
		jQuery(document).on( 'ready post-load', function(){
			jQuery( 'a.share-tumblr' ).on( 'click', function() {
				window.open( jQuery(this).attr( 'href' ), 'wpcomtumblr', 'menubar=1,resizable=1,width=450,height=450' );
				return false;
			});
		});
		</script>
				<script type="text/javascript">
		jQuery(document).on( 'ready post-load', function(){
			jQuery( 'a.share-linkedin' ).on( 'click', function() {
				window.open( jQuery(this).attr( 'href' ), 'wpcomlinkedin', 'menubar=1,resizable=1,width=580,height=450' );
				return false;
			});
		});
		</script>
		<script type='text/javascript' src="/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20"></script>
<script type='text/javascript'>
/* <![CDATA[ */
var _wpcf7 = {"loaderUrl":"http:\/\/blog.memolib.com\/wp-content\/plugins\/contact-form-7\/images\/ajax-loader.gif","sending":"\u9001\u4fe1\u4e2d ..."};
/* ]]> */
</script>
<script type='text/javascript' src="/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.0.1"></script>
<script type='text/javascript' src='http://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201448'></script>
<script type='text/javascript' src='http://s.gravatar.com/js/gprofiles.js?ver=2014Novaa'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var WPGroHo = {"my_hash":""};
/* ]]> */
</script>
<script type='text/javascript' src="/wp-content/plugins/jetpack/modules/wpgroho.js?ver=4.0.1"></script>
<script type='text/javascript' src="/wp-includes/js/masonry.min.js?ver=3.1.2"></script>
<script type='text/javascript' src="/wp-includes/js/jquery/jquery.masonry.min.js?ver=3.1.2"></script>
<script type='text/javascript' src="/wp-content/themes/twentyfourteen/js/functions.js?ver=20140616"></script>
<script type='text/javascript'>
/* <![CDATA[ */
var recaptcha_options = {"lang":"en"};
/* ]]> */
</script>
<script type='text/javascript' src="/wp-content/plugins/jetpack/modules/sharedaddy/sharing.js?ver=20121205"></script>

	<script src="http://stats.wp.com/e-201448.js" type="text/javascript"></script>
	<script type="text/javascript">
	st_go({v:'ext',j:'1:3.1.1',blog:'45908211',post:'0',tz:'9'});
	var load_cmc = function(){linktracker_init(45908211,0,2);};
	if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc);
	else load_cmc();
	</script></body>
</html>