2014/01/23

Vagrant環境の起動(Vagrant up)を実行した所、
以下メッセージで起動に失敗した時の復旧方法になります。
-----------------------------------------------------------------------
C:\HashiCorp\Vagrant\localdev>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
Your VM has become "inaccessible." Unfortunately, this is a critical error
with VirtualBox that Vagrant can not cleanly recover from. Please open VirtualBox
and clear out your inaccessible virtual machines or find a way to fix
them.

C:\HashiCorp\Vagrant\localdev>
-----------------------------------------------------------------------

VirtualBox上で確認すると、「アクセスできません」というステータスで
操作できなくなっているようです。




ここで、
対象のVirtualBox用ディレクトリにある仮想マシンイメージファイル(.vox)
の「xxxxxx.vbox-tmp」を「xxxxxx.vbox」にリネームして、
Virtualboxを再起動すると「中断」状態で正常認識されました。


この状態で再度vagrantupを実行すると正常起動を確認できました。
-----------------------------------------------------------------------
C:\HashiCorp\Vagrant\localdev>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => xxxx (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
-----------------------------------------------------------------------

Virtualbox上でも正常起動が確認できました。




直前にvagarant halt実行しないまま、うっかりPCシャットダウンしてしまったので、間違いなくそれが原因だと思います。。
この時、起動時に参照するべきVirtualBox用仮想マシンイメージファイル(.vox)が正常終了していないためにtmpファイルとして別名保存されていたようです。

同様の現象の場合はお試しあれ。

2014/01/18

Linux基礎コマンドまとめ(随時更新)

#CentOSのバージョン確認
cat /etc/redhat-release

#システム情報の確認
uname -a

#プロセスの状況確認
$ top

#サービスの状況確認
$ service サービス名 status

#サービスの開始
$ service サービス名 start

#サービスの停止
$ service サービス名 stop

#サービスの再起動
$ service サービス名 restart

# タスク一覧の確認
$ crontab -l

# タスクの編集
$ crontab -e

#システムシャットダウン
shutdown -h
※以下のようにnowをつけると即時実行
shutdown -h now

#システム再起動
shutdown -r
※以下のようにnowをつけると即時実行
shutdown -r now

# ファイル名検索
find 検索場所 -name ファイル名
例)find / -name php.ini

#データダウンロード
wget ダウンロードURL

#圧縮データの解凍
tar xvfz 圧縮データ




Vagrantの仮想イメージのバックアップ、別ボックスへの復元方法

【バックアップ】
①起動側にて以下コマンドを実行
 $ vagrant package

②以下メッセージが表示されれば正常完了。
 C:\HashiCorp\Vagrant\localdev>vagrant package
 [default] Attempting graceful shutdown of VM...
 [default] Clearing any previously set forwarded ports...
 [default] Creating temporary directory for export...
 [default] Exporting VM...
 [default] Compressing package to: C:/HashiCorp/Vagrant/localdev/package.box

 C:\HashiCorp\Vagrant\localdev>


③ローカルディレクトリに、バックアップファイル「package.box」が作成されている事を確認


【復元】
①以下コマンドにて新規ボックス作成
 $ vagrant box add 新規作成ボックス名 バックアップファイル
 $ vagrant box add centos64bk package.box

②以下メッセージが表示されれば正常完了
 C:\HashiCorp\Vagrant\localdev>vagrant box add centos6_bk package.box
 Downloading or copying the box...
 Extracting box...ate: 960M/s, Estimated time remaining: --:--:--)
 Successfully added box 'centos6_bk' with provider 'virtualbox'!

# MySQLのバックアップ、復元方法


環境は以下
CentOS :CentOS release 6.5 (Final)
MySQL   :5.5

【バックアップ】
# 全てのDBの場合
$ mysqldump -u ユーザ名 -p パスワード --all-databases > backup.sql

# 特定のDBの場合
$ mysqldump -u ユーザ名 -p パスワード DB名 > 出力ファイル名
例)mysql -u root -p password dbname > dbname.sql

※実行時に以下エラーが出る場合有り。
  mysqldump: unknown variable 'symbolic-links=0'

  この場合は、以下を実行
  MySQLの設定ファイル「my.cnf」にて「symbolic-links」をコメントアウト

  symbolic-links=0
 ↓
  # symbolic-links=0


【復元】
# 全てのDBの場合
mysql -u ユーザ名 -p < 出力ファイル名

# 特定のDBの場合
mysql -u ユーザ名 -p DB名 < 出力ファイル名

2014/01/15

①MySQLの設定ファイル「my.cnf」の場所を確認
$ find / -name my.cnf

②MySQLの設定ファイル「my.cnf」を変更
$ vi (①で確認したパス)

[mysqld]
default-time-zone='+9:00'

③MySQLの再起動
$ sudo service mysqld restart

④MySQLにログインの上、以下コマンドデータが正しく反映された事を確認
$ mysql>select curdate(),curtime();

以下のような表示で日付時刻が一致していればOK
+------------+-----------+
| curdate()  | curtime() |
+------------+-----------+
| 2014-01-15 | 20:53:45  |
+------------+-----------+

2014/01/14

jQueryの基本操作でつまづいたので基礎からまとめてみた。
随時更新。


#jQueryとは

JavaScriptのライブラリの1つ。

じゃあJavascriptライブラリとは何か。

「Javascriptだけでもプログラムは書けるけど、1から10まで全部書くのは大変。
だからJavascriptのよく使う機能(プログラムの集まり)をまとめたパッケージをまず用意しておいて、
 繰り返し簡単に使えるようにしよう。」

このパッケージを「Javascriptライブラリ」という。

つまり、
jQueryとは「Javascriptのよく使う機能をまとめたパッケージ」の内の1つ。

だから、jQueryで書けるものは、Javascriptでも書ける。
けど、jQueryの方が楽に効率よく書ける。


#jQueryの種類
jQueryには以下の種類がある。
・jQuery(jQuery Core)
・jQuery公式プラグイン(jQuery UI)
・スマートフォン用プラグイン(jQuery Mobile)

#jQueryの特徴

* バージョン毎の特徴
・jQuery 1.X系 ◯IE8以下のサポート有り
・jQuery 2.X系 ×IE8以下のサポート無し

* クロスブラウザ
* 軽量、高速
* MITとGPLのデュアルライセンス
* ドキュメントが充実
* ノンプログラマにも優しいセレクタAPI


#jQueryの書き方
1.  jQueryの読み込み(ローカル or CDN)
2.  要素(セレクタ)を選択
3.  操作(メソッド)を選択


#jQueryで出来ること
・jQueryコア :核となるjQueryオブジェクト
・セレクター    :DOMの要素選択
・Attributes    :DOMの属性制御
・Traversing    :DOMの選択系操作
・Manipulation  :DOMの制御、更新系操作
・CSS           :DOMのスタイル操作
・Events        :イベント操作
・Effects       :エフェクト操作
・Ajax          :Ajax関連
・Utilities     :各種ユーティリティ
・Internals     :内部的に用いるAPI群

2014/01/13

ExcelのcsvファイルをMySQLへインポートする。

①システム共通の文字コード設定を確認する
$ sudo vi /etc/my.cnf

②DBの文字コード確認
$ mysql> show variables like 'character%';

③テーブルの文字コード確認
$ mysql> show create table テーブル名 \G

④取得するcsvファイルをutf-8で保存、サーバーへアップロード
・パスワードはfileZilla等で行う。
・アップロードパスを覚えておく。
・この時csvファイルのutf-8保存、確認はterapad等のテキストエディタから行う。
 ExcelのWebオプション>エンコード>ドキュメントを保存する形式で指定しても、
 正しく反映されていない事があるので注意

⑤csvファイルのインポート
load data local infile 'アップロードデータのパス' into table テーブル名 FIELDS TERMINATED BY ',' ENCLOSED BY '"';

⑥MySQLへの正常インポート確認
MySQL上で以下SQL文でDB一覧を参照の上確認
use データベース名;
select * from テーブル名;

ja → en
· Utf-8 save the csv file to make sure done in a text editor such as terapad at this time . If it is specified with a format in which to save the Web Options > Encoding > Document of Excel, There is a thing that is not reflected correctly .

2014/01/01

【Saharaプラグインとは・・・】
Vagrantの拡張機能で、サーバー状態のSAVE、RESTORE機能の事です。
Vagrantで管理しているサーバーの一時点の内容を記録しておき、好きなときに元に戻すことが簡単に出来ます。


# 作業用パスへ移動

cd 作業用パス

# Vagrant Saharaプラグインのインストール

vagrant plugin install sahara

以下メッセージが出たらインストール完了!

vagrant plugin install sahara Installing the 'sahara' plugin. This can take a few minutes... Installed the plugin 'sahara (0.0.16)'!


# sandboxモードの開始

vagrant sandbox on

以下メッセージが表示されてエラーが無ければ完了。

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


# 変更点を決定する

vagrant sandbox commit

以下メッセージが表示されてエラーが無ければ完了。

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


# 変更点までロールバックする

vagrant sandbox rollback

以下メッセージが表示されてエラーが無ければ完了。

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%



# sandboxモード終了(commitしていないものは破棄される)

vagrant sandbox off

以下メッセージが表示されてエラーが無ければ完了。

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%



# 現在sandboxモードかどうかの確認

vagrant sandbox status

以下メッセージが表示される。

vagrant sandbox status [default] Sandbox mode is off