Mac Book Airの設定メモ

明けましておめでとうございます。
今年も宜しくお願い致します。

2013年初日の出(今切れ口より)

さて、昨年の年末に念願のMac Book Airを購入したので
今まで設定したこととかをメモっておきます。

まず購入したmacのスペック
サイズ:13.3インチ
ストレージ:128GB
CPU:1.8GHzデュアルコアIntel Core i5
メモリ:4GB
■以下セットアップ時に参考にしたサイト

Mac初心者にオススメしたいMac購入後すぐにやっておくべき26の設定

MacBook を買って開発ができるようになるまで。

Mac OS X LionをWebの開発環境としてセットアップ

簡単にできる Mac OS X Lion に PHP + MySQL の開発環境を構築する方法

MAC OS10.7(Lion)の開発環境(Apache)の設定について

今年こそ始める!何度も挫折した人のためのモダンVim再入門

VimでJavaScript開発環境を整える

PHPerがMacbookAirを買ったら直ぐにすること 2012

これでMacのショートカットは完璧!全てのアプリのショートカットをCommand長押しで表示する『CheatSheet

あとはFileZillaとXtraFinder、Skypeあたりをインストールした。

それとショートカットを覚えようにも記号とキーの対応がわかっていないくらい初心者なので以下の画像で覚えました。

mac_key_symbol

あと持ち運ぶ時ようにケースも一応購入⬇の13インチ版を購入。

メールの一斉配信にMail Distributor

メールの一斉配信にMail Distributor

ある程度まとまった件数メールを送る必要があったので
一斉配信のツールを探してみた。
※そもそもメール関係に疎いです。。

その中でよさそうだったのが

Mail Distributor

XP、Vista、7対応らしい。
必要環境 .NET Framework 2.0 以上

同一メールを複数人へ対して1通ずつ個別に一括送信できるソフト。
あらかじめ送信したいメールアドレスをグループ単位で登録したあとでメール本文を作成し、
送信先のグループを選択すると登録したメールアドレスに同じ内容のメールを一括送信する。

本家のサイト↓
同報メール配信ソフト Mail Distributor ~まずは無料のツールをお試しください~

結構使いやすいのでお勧めです。

CentOS5系にduplicityをインストールする

CentOS5系にduplicityをインストールする

CentOS5ではduplicityをCentOS6.3にインストールするメモの方法では
インストールできなかったので別のインストール方法で入れる。

どうもrpmがあるっぽいのでそれで試す。

duplicity-0.6.18-1.el5.i386.rpm Download

Download duplicityのフロッピーアイコンをクリックして遷移した画面にある
binary packageのリンク先をwgetする

#wget http://dl.fedoraproject.org/pub/epel/5/i386/duplicity-0.6.18-1.el5.i386.rpm
# rpm -Uvh duplicity-0.6.18-1.el5.i386.rpm
エラー: 依存性の欠如:
        ncftp >= 3.1.9 は duplicity-0.6.18-1.el5.i386 に必要とされています
        python-GnuPGInterface >= 0.3.2 は duplicity-0.6.18-1.el5.i386 に必要とされています
        python-boto >= 0.9d は duplicity-0.6.18-1.el5.i386 に必要とされています

など出るのでそれぞれインストールしていく
自分の場合はたぶん
duplicityをCentOS6.3にインストールするメモ
のほうのやり方を途中までやったためにこれだけで済んだのだと思う。。

# yum --enablerepo=epel install ncftp
# yum --enablerepo=epel install python-GnuPGInterface
# yum --enablerepo=epel install python-boto

もう一度インストール

# rpm -Uvh duplicity-0.6.18-1.el5.i386.rpm
準備中...                ########################################### [100%]
   1:duplicity              ########################################### [100%]

[root@takeuchi tmp]# duplicity --version
duplicity 0.6.18

入ったーレストアも出来たのでOKっぽい。

IEでSSL接続だと履歴が残らない問題が発生

IEで履歴が残らない関係メモ

IEでSSL接続だと履歴が残らない問題が発生。

以下のページを参考に。。。

IE×Flash×SSL

Internet Explorer で SSL Web サイトの Office 文書を開けない

 

原因

Internet Explorer では、SSL を使用してセキュリティ保護されている Web サイトと
通信する際に、強制的に no-cache 要求が発行されます。
このヘッダーが 1 つ以上存在する場合、Internet Explorer では、ファイルはキャッシュされません

解決方法

このような処理を許可する Web サイトでは、1 つまたは複数の no-cache ヘッダーを削除する必要があります。

状況

この動作は仕様です。

なんだか微妙ですが、そういうことらしいです。
これで直るかどうかも微妙だけど。。。とりあえず状況をメモ。

duplicityをCentOS6.3にインストールするメモ

【duplicityインストール】
duplicityは個人データのバックアップとして使えるツールです。

■特徴は3つ
・バックアップ中の履歴を古い状態から新しい状態への増分で記録し、複数のフルバックアップも取れる
・GnuPGを使って暗号化する機能がある
・SSH以外のネットワーク機能にも対応している(FTPやWebDAV,S3など)

今回はFTPでの接続が必要だったのでduplicityを選びました。

■今回のサーバのバージョン

# cat /etc/redhat-release
CentOS release 6.3 (Final)

以下からインストールの説明

■最新のバージョンをダウンロードしてくる(2012/12/21の時点では0.6.20)

# pwd
/root/tmp
# mkdir tmp
# cd tmp/
# wget http://code.launchpad.net/duplicity/0.6-series/0.6.20/+download/duplicity-0.6.20.tar.gz
--2012-12-21 19:56:24--  http://code.launchpad.net/duplicity/0.6-series/0.6.20/+download/duplicity-0.6.20.tar.gz
code.launchpad.net をDNSに問いあわせています... 91.189.89.224, 91.189.89.225
code.launchpad.net|91.189.89.224|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://code.launchpad.net/duplicity/0.6-series/0.6.20/+download/duplicity-0.6.20.tar.gz [続く]
--2012-12-21 19:56:24--  https://code.launchpad.net/duplicity/0.6-series/0.6.20/+download/duplicity-0.6.20.tar.gz
code.launchpad.net|91.189.89.224|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Moved Temporarily
場所: https://launchpadlibrarian.net/121487466/duplicity-0.6.20.tar.gz [続く]
--2012-12-21 19:56:26--  https://launchpadlibrarian.net/121487466/duplicity-0.6.20.tar.gz
launchpadlibrarian.net をDNSに問いあわせています... 91.189.89.228, 91.189.89.229
launchpadlibrarian.net|91.189.89.228|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1142460 (1.1M) [application/x-tar]
`duplicity-0.6.20.tar.gz' に保存中

100%[===================================================================================================================>] 1,142,460    149K/s 時間 8.6s

2012-12-21 19:56:36 (130 KB/s) - `duplicity-0.6.20.tar.gz' へ保存完了 [1142460/1142460]

■python-devel,libsync-devel,libsyncを入れる(epelリポジトリ使用)

# yum install python-devel librsync-devel librsync
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/metalink                                                                                                                         | 5.6 kB     00:00
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
base                                                                                                                                  | 3.7 kB     00:00
epel                                                                                                                                  | 4.3 kB     00:00
epel/primary_db                                                                                                                       | 4.1 MB     00:00
extras                                                                                                                                | 3.5 kB     00:00
extras/primary_db                                                                                                                     |  24 kB     00:00
jenkins                                                                                                                               |  951 B     00:00
jenkins/primary                                                                                                                       |  18 kB     00:00
jenkins                                                                                                                                              167/167
updates                                                                                                                               | 3.5 kB     00:00
updates/primary_db                                                                                                                    | 4.3 MB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package librsync.i686 0:0.9.7-15.el6 will be installed
---> Package librsync-devel.i686 0:0.9.7-15.el6 will be installed
---> Package python-devel.i686 0:2.6.6-29.el6_3.3 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                  Arch                           Version                                     Repository                         Size
=============================================================================================================================================================
Installing:
 librsync                                 i686                           0.9.7-15.el6                                epel                               44 k
 librsync-devel                           i686                           0.9.7-15.el6                                epel                               12 k
 python-devel                             i686                           2.6.6-29.el6_3.3                            updates                           167 k

Transaction Summary
=============================================================================================================================================================
Install       3 Package(s)

Total download size: 223 k
Installed size: 564 k
Is this ok [y/N]: y
Downloading Packages:
(1/3): librsync-0.9.7-15.el6.i686.rpm                                                                                                 |  44 kB     00:00
(2/3): librsync-devel-0.9.7-15.el6.i686.rpm                                                                                           |  12 kB     00:00
(3/3): python-devel-2.6.6-29.el6_3.3.i686.rpm                                                                                         | 167 kB     00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                        514 kB/s | 223 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : librsync-0.9.7-15.el6.i686                                                                                                                1/3
  Installing : librsync-devel-0.9.7-15.el6.i686                                                                                                          2/3
  Installing : python-devel-2.6.6-29.el6_3.3.i686                                                                                                        3/3
  Verifying  : python-devel-2.6.6-29.el6_3.3.i686                                                                                                        1/3
  Verifying  : librsync-0.9.7-15.el6.i686                                                                                                                2/3
  Verifying  : librsync-devel-0.9.7-15.el6.i686                                                                                                          3/3

Installed:
  librsync.i686 0:0.9.7-15.el6                   librsync-devel.i686 0:0.9.7-15.el6                   python-devel.i686 0:2.6.6-29.el6_3.3

Complete!

■duplicityのtar.gzを展開してコンパイルしてインストールする

# tar -xzvf duplicity-0.6.20.tar.gz
duplicity-0.6.20/
duplicity-0.6.20/po/
duplicity-0.6.20/po/LINGUAS
duplicity-0.6.20/po/de/
duplicity-0.6.20/po/de/de.po
・・・・

# cd duplicity-0.6.20
# ll
合計 292
-rw-------  1 1000 1000  67959 10月 28 21:23 2012 CHANGELOG
-rw-------  1 1000 1000  17987 10月 28 21:23 2012 COPYING
-rw-------  1 1000 1000 160119 10月 28 21:23 2012 Changelog.GNU
-rw-------  1 1000 1000   2759 10月 28 21:23 2012 README
-rw-------  1 1000 1000   1225 10月 28 21:23 2012 README-LOG
-rw-------  1 1000 1000    809 10月 28 21:23 2012 README-REPO
drwxr-xr-x  2 1000 1000   4096 10月 28 21:23 2012 bin
drwxr-xr-x  2 1000 1000   4096 10月 28 21:23 2012 dist
drwxr-xr-x  3 1000 1000   4096 10月 28 21:23 2012 duplicity
drwxr-xr-x 27 1000 1000   4096 10月 28 21:23 2012 po
-rwxr-xr-x  1 1000 1000   3233 10月 28 21:23 2012 setup.py
-rw-------  1 1000 1000    102 10月 28 21:23 2012 tarfile-CHANGES
-rw-------  1 1000 1000   2814 10月 28 21:23 2012 tarfile-LICENSE
drwxr-xr-x  6 1000 1000   4096 10月 28 21:23 2012 testing
[root@192 duplicity-0.6.20]# python ./setup.py build
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/duplicity
・・・

[root@192 duplicity-0.6.20]# python ./setup.py install
running install
running build
running build_py
running build_ext
running build_scripts
・・・

■duplicityのバージョンを確認してみる。

# duplicity --version
duplicity 0.6.20

■FTPも利用する場合はncftpもインストールする(epelリポジトリ使用)

# yum search ncftp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
epel/pkgtags                                                                                                                          |  325 B     00:00
==================================================================== N/S Matched: ncftp =====================================================================
ncftp.i686 : Improved console FTP client

  Name and summary matches only, use "search all" for everything.
[root@192 duplicity-0.6.20]# yum install ncftp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ncftp.i686 2:3.2.4-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                             Arch                               Version                                     Repository                          Size
=============================================================================================================================================================
Installing:
 ncftp                               i686                               2:3.2.4-1.el6                               epel                               315 k

Transaction Summary
=============================================================================================================================================================
Install       1 Package(s)

Total download size: 315 k
Installed size: 1.3 M
Is this ok [y/N]: y
Downloading Packages:
ncftp-3.2.4-1.el6.i686.rpm                                                                                                            | 315 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 2:ncftp-3.2.4-1.el6.i686                                                                                                                  1/1
  Verifying  : 2:ncftp-3.2.4-1.el6.i686                                                                                                                  1/1

Installed:
  ncftp.i686 2:3.2.4-1.el6

Complete!

■ncftpのバージョンを見てみる

# ncftp --version
NcFTP 3.2.4 (Apr 07, 2010) by Mike Gleason (http://www.NcFTP.com/contact/).

ここまででインストールは完了。

■ローカル内でのバックアップ例
○作業場所例

$ pwd
/home/user

○バックアップ元

$ ls -al ./work/
合計 12
drwxrwxr-x   2 user user 4096 12月 21 20:29 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:32 2012 ../
-rw-rw-r--   1 user user   11 12月 21 20:29 2012 first.txt

○バックアップ先

$ ls -al dup_backup_test/
合計 8
drwxrwxr-x   2 user user 4096 12月 21 20:33 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:32 2012 ../

○初回フルバックアップ

$ duplicity ./work file:///home/user/dup_backup_test
Import of duplicity.backends.u1backend Failed: No module named httplib2
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
GnuPG passphrase:
Retype passphrase to confirm:
No signatures found, switching to full backup.
--------------[ Backup Statistics ]--------------
StartTime 1356089561.48 (Fri Dec 21 20:32:41 2012)
EndTime 1356089561.49 (Fri Dec 21 20:32:41 2012)
ElapsedTime 0.01 (0.01 seconds)
SourceFiles 2
SourceFileSize 4107 (4.01 KB)
NewFiles 2
NewFileSize 4107 (4.01 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2
RawDeltaSize 11 (11 bytes)
TotalDestinationSizeChange 234 (234 bytes)
Errors 0
-------------------------------------------------

○初回バックアップ後のバックアップ先

$ ls -al ./dup_backup_test/
合計 20
drwxrwxr-x   2 user user 4096 12月 21 20:36 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:32 2012 ../
-rw-------   1 user user  261 12月 21 20:36 2012 duplicity-full-signatures.20121221T113556Z.sigtar.gpg
-rw-------   1 user user  196 12月 21 20:36 2012 duplicity-full.20121221T113556Z.manifest.gpg
-rw-------   1 user user  234 12月 21 20:36 2012 duplicity-full.20121221T113556Z.vol1.difftar.gpg

○バックアップ元を変更する

$ ls -al ./work/
合計 16
drwxrwxr-x   2 user user 4096 12月 21 20:37 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:37 2012 ../
-rw-rw-r--   1 user user   11 12月 21 20:29 2012 first.txt
-rw-rw-r--   1 user user   12 12月 21 20:37 2012 second.txt

○2回目のバックアップ

$ duplicity ./work file:///home/user/dup_backup_test
Import of duplicity.backends.u1backend Failed: No module named httplib2
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 21 20:35:56 2012
GnuPG passphrase:
Retype passphrase to confirm:
--------------[ Backup Statistics ]--------------
StartTime 1356089881.33 (Fri Dec 21 20:38:01 2012)
EndTime 1356089881.34 (Fri Dec 21 20:38:01 2012)
ElapsedTime 0.01 (0.01 seconds)
SourceFiles 3
SourceFileSize 4119 (4.02 KB)
NewFiles 2
NewFileSize 4108 (4.01 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2
RawDeltaSize 12 (12 bytes)
TotalDestinationSizeChange 233 (233 bytes)
Errors 0
-------------------------------------------------

○2回目バックアップ後のバックアップ先

$ ls -al ./dup_backup_test/
合計 32
drwxrwxr-x   2 user user 4096 12月 21 20:38 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:37 2012 ../
-rw-------   1 user user  261 12月 21 20:36 2012 duplicity-full-signatures.20121221T113556Z.sigtar.gpg
-rw-------   1 user user  196 12月 21 20:36 2012 duplicity-full.20121221T113556Z.manifest.gpg
-rw-------   1 user user  234 12月 21 20:36 2012 duplicity-full.20121221T113556Z.vol1.difftar.gpg
-rw-------   1 user user  196 12月 21 20:38 2012 duplicity-inc.20121221T113556Z.to.20121221T113757Z.manifest.gpg
-rw-------   1 user user  233 12月 21 20:38 2012 duplicity-inc.20121221T113556Z.to.20121221T113757Z.vol1.difftar.gpg
-rw-------   1 user user  263 12月 21 20:38 2012 duplicity-new-signatures.20121221T113556Z.to.20121221T113757Z.sigtar.gpg

○バックアップ状態の確認

$ duplicity collection-status file:///home/user/dup_backup_test
Import of duplicity.backends.u1backend Failed: No module named httplib2
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 21 20:35:56 2012
Collection Status
-----------------
Connecting with backend: LocalBackend
Archive dir: /home/user/.cache/duplicity/8716bfe8333e4b5eaeabee4eec99bcbf

Found 0 secondary backup chains.

Found primary backup chain with matching signature chain:
-------------------------
Chain start time: Fri Dec 21 20:35:56 2012
Chain end time: Fri Dec 21 20:37:57 2012
Number of contained backup sets: 2
Total number of contained volumes: 2
 Type of backup set:                            Time:      Num volumes:
                Full         Fri Dec 21 20:35:56 2012                 1
         Incremental         Fri Dec 21 20:37:57 2012                 1
-------------------------
No orphaned or incomplete backup sets found.

■レストアしてみる
workの下を空にしておく

$ ls -al ./work/
合計 8
drwxrwxr-x   2 user user 4096 12月 21 20:42 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:37 2012 ../

レストアする

$ duplicity file:///home/user/dup_backup_test /home/user/work
Import of duplicity.backends.u1backend Failed: No module named httplib2
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 21 20:35:56 2012
GnuPG passphrase:

$ ls -al ./work/
合計 16
drwxrwxr-x   2 user user 4096 12月 21 20:37 2012 ./
drwxrwxrwx. 14 user user 4096 12月 21 20:37 2012 ../
-rw-rw-r--   1 user user   11 12月 21 20:29 2012 first.txt
-rw-rw-r--   1 user user   12 12月 21 20:37 2012 second.txt

復元する日時を指定した場合は–restore-time(-t)をオプションとして日時を指定して実行する。
特定のディレクトリだけ復元したい場合は–file-to-restoreオプションでパス名を指定する。
すでにあるディレクトリに上書きする形で復元したいときは–forceオプションをつける

■GnuPGでパスフレーズを毎回求められるのが面倒な場合
事前にexportしておくと楽かも。
export PASSPHRASE=gpgpassphrase

■古いバックアップの削除
5組のバックアップを残してそれ以前のものを削除する場合

$ duplicity remove-all-but-n-full 5 /home/user/dup_backup_test

ある日以前のバックアップを削除する場合

$ duplicity remove-older-than 3M /home/user/dup_backup_test

■年月日の指定方法
○年月日と時間の指定(日本時間の2008年9月4日 18:57:11)
2008-09-04T18:57:11+09:00

○年月日の指定(2008年9月4日)
2008-09-04
2008/09/04
09/04/2008
09-04-2008

○相対的な指定
3D5h45m(3日前と5時間45分前)
5Y4M15s(5年4ヶ月と15秒前)

○現在
now

■duplicityがサポートするアクセス方法と対応するURLのフォーマット

cf+http://container_name
file:///some_dir
ftp://user[:password]@other.host[:port]/some_dir
ftps://user[:password]@other.host[:port]/some_dir
hsi://user[:password]@other.host[:port]/some_dir
imap://user[:password]@other.host[:port]/some_dir
rsync://user[:password]@other.host[:port]::/module/some_dir
rsync://user[:password]@other.host[:port]/relative_path
rsync://user[:password]@other.host[:port]//absolute_path
s3://other.host/bucket_name[/prefix]
s3+http://bucket_name[/prefix]
scp://user[:password]@other.host[:port]/some_dir
ssh://user[:password]@other.host[:port]/some_dir
tahoe://alias/directory
webdav://user[:password]@other.host/some_dir
webdavs://user[:password]@other.host/some_dir
gdocs://user[:password]@other.host/some_dir

■その他

使い方:
  duplicity [full|incremental] [options] source_dir target_url
  duplicity [restore] [options] source_url target_dir
  duplicity verify [options] source_url target_dir
  duplicity collection-status [options] target_url
  duplicity list-current-files [options] target_url
  duplicity cleanup [options] target_url
  duplicity remove-older-than time [options] target_url
  duplicity remove-all-but-n-full count [options] target_url
  duplicity remove-all-inc-of-but-n-full count [options] target_url

コマンド:
  cleanup
  collection-status
  full
  incr
  list-current-files
  restore
  remove-older-than <time>
 remove-all-but-n-full
 remove-all-inc-of-but-n-full
 verify

オプション:
 -h, --help show this help message and exit
 --allow-source-mismatch
 --archive-dir=path
 --asynchronous-upload
 --dry-run
 --encrypt-key=gpg-key-id
 --encrypt-secret-keyring=path
 --encrypt-sign-key=gpg-key-id
 --exclude=shell_pattern
 --exclude-device-files
 --exclude-filelist=filename
 --exclude-filelist-stdin
 --exclude-globbing-filelist=filename
 --exclude-if-present=filename
 --exclude-other-filesystems
 --exclude-regexp=regular_expression
 --extra-clean
 --file-prefix=FILE_PREFIX
 -r path, --file-to-restore=path
 --force
 --ftp-passive
 --ftp-regular
 --full-if-older-than=time
 --gio
 --gpg-options=options
 --ignore-errors
 --imap-mailbox=imap_mailbox
 --include=shell_pattern
 --include-filelist=filename
 --include-filelist-stdin
 --include-globbing-filelist=filename
 --include-regexp=regular_expression
 --log-fd=file_descriptor
 --log-file=filename
 --name=backup name
 --no-encryption
 --no-compression
 --no-print-statistics
 --null-separator
 --num-retries=number
 --numeric-owner
 --old-filenames
 --pydevd
 --rename=RENAME
 -t time, --restore-time=time, --time=time
 --rsync-options=options
 --s3-european-buckets
 --s3-use-rrs
 --s3-use-new-style
 --s3-unencrypted-connection
 --s3-multipart-chunk-size=number
 --s3-use-multiprocessing
 --scp-command=command
 --sftp-command=command
 --short-filenames
 --sign-key=gpg-key-id
 --ssh-askpass
 --ssh-backend=paramiko|pexpect
 --ssh-options=options
 --tempdir=path
 --timeout=seconds
 --time-separator=char
 --use-agent
 --use-scp
 -v [0-9], --verbosity=[0-9]
 -V, --version
 --volsize=number

■参考URL
duplicity本家

[CentOS] How to install Duplicity on your VPS/Dedicated Server

Duplicity – secure incremental backup

RedmineガントチャートのPNG出力の文字化けをどうにかする

RedmineのガントチャートのPNG出力の文字化けをどうにかする

RedmineのバージョンはRedmine 2.1.4.stable

Redmineのガントチャートのページの右下に
他の形式にエクスポート: PDF PNG
というのがありますが、デフォルトだと
PDFは日本語が表示されてますが、PNGは文字化け。。

どうにかしたいなということで調査。

ガントチャートのpng出力で文字化け

↑このページを発見。

やってみようとするもそもそも日本語フォントがなかったので
インストールする。

# yum install fonts-japanese

これで

 /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf

が入った。

フォントをインストールした後は指示通りに変更してみる。

[root@syanai redmine]# pwd
/var/lib/redmine
[root@syanai redmine]# vim lib/redmine/helpers/gantt.rb

rbファイルの編集

        imgl.new_image(subject_width + g_width + 1, height)
        gc = Magick::Draw.new

		# 以下の2行を追加
        gc.font = "/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf"
        gc.pointsize = 12

        # Subjects
        gc.stroke('transparent')
        subjects(:image => gc, :top => (headers_height + 20), :indent => 4, :format => :image)

変更できたらRedmineを再起動する。
するとPNGが日本語になってる!
チケット名が長いと表示が変なのは変わらないけど。。

Redmineでバーンダウンチャートとか

Redmineでバーンダウンチャートとか

Redmineでバーンダウンチャートとか使ってみたいので調べてインストールした。

とりあえず今使っているバージョン情報はこちら

Environment:
Redmine version 2.1.4.stable
Ruby version 1.9.3 (i686-linux)
Rails version 3.2.8
Environment production
Database adapter Mysql2
Redmine plugins:
redmine_charts2 0.2.1

後は以下のサイトを見てインストールする。

Redmine お勧めプラグイン – Charts (2.0 対応)

ただ自分は上記のとおりやってもDBのところでエラーが出た

# pwd
/var/lib/redmine/log
# less production.log
・・・
ActiveRecord::StatementInvalid (Mysql2::Error: Table 'db_redmine.chart_saved_conditions' doesn't exist: SHOW FULL FIELDS FROM `chart_saved_conditions`):
・・・

テーブルが出来てなかったようです。

なので・・・READMEを見てみる。

[root@syanai redmine_charts2]# pwd
/var/lib/redmine/plugins/redmine_charts2
[root@syanai redmine_charts2]# less README.markdown
・・・
Migrate database.

    $ rake redmine:plugins RAILS_ENV=production
・・・

上記のとおりにコマンドを打ったら動きました。。

で、上記のプラグインを実際に使ってみるなかでやたら「バージョンがありません」
みたいな事が表示されてやっと気づいたwww

Redmine入門 – チケットとバージョン

サブプロジェクトだけじゃなくてバージョンもちゃんと設定しなきゃ!!!
ロードマップを使わなきゃ!!!

まだまだちゃんとRedmineが使えてないな~

あわせてこれも↓インストールした。
Redmine Issue Extensions プラグイン

↓この機能が重要だと思う。

チケットをクローズする時、自動的に進捗を100%に変更します。

Google analyticsでサブドメインをまたいでのアクセス取得の方法

Google analyticsでサブドメインをまたいでのアクセス取得の方法

前回jQuery Mobileでgoogle analyticsでタグを埋めたけど、
トラッキングのタグがサブドメイン対応のタグになって
いなかったので対応する。

詳しくは以下を参照

Google Analyticsで複数のサブドメインをトラッキングする方法

Google アナリティクスでサブドメインを跨いで計測する場合のトラッキングコードのカスタマイズ

上記の方法だと目標設定とかで指定方法を変更しないといけない
らしいので既にwwwとかのメインのタグの設定が終わっていて、
かなりデータが蓄積されている場合にちょっと面倒というか
変なデータがまじっちゃうかもしれないのでちょっとびびる。

普通に新しくタグ発行しちゃうかも・・・。

Inkscapeで写真を切り抜く

Inkscapeで写真を切り抜く

年賀状作成中に必要になってあせったのでメモ。

以下手順。

  1. 写真をインポートする
  2. 切り抜くラインをベジェ曲線で囲む(始点と終点を合わせる)
  3. 選択ツールで今囲んだところを選択
  4. Shiftを押しながら写真の囲んだところ以外をクリック
  5. 上部のメニューから「オブジェクト」⇒「クリップ」⇒「設定」をクリックすると切り抜ける

もっと使いこなせれば楽しいんだろうな~。

■参考URL
Inkscaper

Inkscape はがきテンプレートを作成する

jQuery Mobileで作成したサイトにgoogle analyticsを埋める

jQuery Mobileで作成したサイトにgoogle analyticsを埋める

jQuery Mobileで作成したサイトにgoogle analyticsを埋める際に
ただタグを埋めればいいわけではなかったのでメモ。

そもそもjQuery Mobileはajaxが有効な場合にリンク時に
data-role=page部分だけを読み込むので、ヘッダやフッタが
読み込まれない。
だからトラッキングコードの箇所が読み込まれず、最初の
ページだけがトラッキングされてしまうらしい。

最初に参考にしたサイトはこちら
jQuery MobileでGoogle Analyticsを使う方法
だた元々のanalyticsのタグがちょっと違うなーと思ったので

こちらのサイトのコードを参考にさせてもらいました。

Google アナリティクスをjQuerymobile内で使う

やっている方法としては同じもので
pageshowイベント時に

_gaq.push(['_trackPageview']);

するってことみたい。

ただ上の場合だと#以降がgoogle analytics上で表示されないので今回は
こうしてみた。

$('[data-role="page"]').live('pageshow', function(){
var u = location.pathname + location.hash;
u ? _gaq.push(['_trackPageview', u]) : _gaq.push(['_trackPageview']);
});

こうするとgoogle analytics上で
/aaaa/bbbb/ccccc#xxxxxxx
という感じで表示される。
↓この本にも説明が載ってた。。。