git logで日本語が表示されないときの直し方

hetemlのサーバーへsshでログインしてgit logを見た際に日本語が化けていました

git logのページャはlessで動いているらしい
lessがutf-8に対応してないと文字化けするようです

$ export LESSCHARSET=utf-8
を打てば解決

起動時に有効にするなら
$ vi ~/.bashrc
に書けばよく

即座に適応するなら
$ source ~/.bashrc
としたらいいです



bitbucketへ公開鍵方式でssh接続する

bitbucketでデフォルトではパスワード認証でgit cloneやgit pushができます
パスワード入力が手間なのと、セキュリティ向上のため公開鍵方式でssh接続してみました

bitbucket用の鍵を生成

$ ssh-keygen -t rsa
キー名を指定 => ~/.ssh/bitbucket

キー名はbitbucketにしたので、
bitbucket
bitbucket.pub
が生成されます

公開鍵の文字列をコピーします
$ cat bitbucket.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxx
をまるごとクリップボードへコピー

bitbucketに公開鍵をはりつける

https://bitbucket.org/account/user/(your account name)/ssh-keys/
へアクセス(your account name)はお持ちのものを

Labelに適当な名前をつけて、コピーした公開鍵を貼り付けます
bitbucket-sshkey

ローカルで接続の準備をする

sshクライアント(手元のパソコン)でsshの設定を書きます
$ vi ~/.ssh/config
Host bitbucket
Hostname bitbucket.org
User git
IdentityFile ~/.ssh/bitbucket

bitbucketという名前で、生成した秘密鍵を指定します

git clone済みのリポジトリがあったので設定し直します
$ git remote remove origin
$ git remote add origin bitbucket:(your account name)/(repository name)

ためしにpushしてみて
$ git push -u origin master

問題なくpushできれば終了です

新規にcloneするときは
$ git clone bitbucket:(your account name)/(your repository name)
でできます

auのキャリアメールをau以外のスマホでやりとりする

auのガラケーと、Nexus5をocnのsimカードで使ってます
月々3000円くらいの使用料でいけてます

どうしてもauのキャリアメールでやり取りすることがあるときの例を紹介

auキャリアメールを転送する

auのキャリアメール(@ezweb.ne.jp)を転送する
でGmailなどへ転送します

ドコモのキャリアメールへ転送なら
Yahoo!コミュニケーションメール
が便利そうです
(昔は@yahoo.ne.jpのアドレスが作れたのですが作れなくなってます、パソコンは@yahoo.co.jp)
2015/08/04更新) Yahoo!コミュニケーションメールのサービスは廃止されました

auのWebメールを使えるようにする

auのWebメールを使えるようにすれば、スマホでもパソコンでもauのキャリアメールの送受信ができます
au IDをもっていて、ezwebメールの契約をしていれば使えるようです
http://www.au.kddi.com/mobile/service/mail/webmail/login/
ログインして、一度ガラケーでCメールを受信して届いたメールのなかのWebページへアクセスしたらOKです

スマホで受信して、返信はWebメール

スマホで受信して、返信はWebメールで、でガラケーを触らずauのキャリアメールが使えます
2台持ちがひとつ1台へと近づいた気がします

hetemlでデータベースのバックアップを自動で取る

以前紹介した
bashスクリプトでデータベースをバックアップする
のコードをhetemlのサーバーにあげて、cronで回すとエラーが

調べてみると..
hetemlのよくあるお問い合わせに
http://heteml.jp/support/faq/2085.html

Q.cronで rm や wget 、find コマンドは使えますか?
A.cronでは rm や wget 、find コマンドはご利用いただけません。

rmが使えない..
困ったということでphpでバックアップを取ろうと、以前の記事
phpでデータベースのバックアップをとる
でやりました

そのままのコードだと
ログインルートにファイルが保存される、
hetemlのmysqlデータベースは別サーバー,
なので、ちょっと修正


#!/usr/bin/php
<?php

$date = new DateTime();
$today = $date->format("Y-m-d");

$date->sub(new DateInterval("P11D"));
$deleteDate = $date->format("Y-m-d");

$backupFolder = "backup/database/";
$backupFile = $today . ".dbbackup";
$deleteFile = $deleteDate . ".dbbackup";

system("mysqldump -u (user name) -h (database server address) --password=(password) (database name) > {$backupFolder}{$backupFile}");

if (file_exists($backupFolder.$deleteFile)) {
    unlink($backupFolder.$deleteFile);
}

backup.phpなどとファイルに保存、sftpかsshを有効にしてscpでサーバーにあげます
権限は700になるようにしました

sftpかsshでログインして、
backup/database
というディレクトリをサーバーへ作っておきます

あとはcron設定をして、バックアップが取れてれば成功です
cronのエラーはメールアドレスをcron設定の画面で登録すると、飛んできます
参考) heteml cron設定マニュアル

いまのところWEBサーバーにバックアップを保存してます
今後、違うサーバーへ保存しようと思います