2007年8月29日水曜日

Darの簡単な使い方

Darの簡単なチュートリアル のつもり

Darについてはこちら。

  1. テスト用の作業ファイルを作る
    mkdir dar-test
    cd dar-test
    touch aaa.txt bbb.txt ccc.txt
    echo "aaaaaaaaaaa" > ccc.txt
    cd ~/

  2. バックアップしてみる。
     dar -v -R ~/ -c test-full -g dar-test/
    -cはアーカイブ名を指定します。
    -vは詳細表示してくれます。-Rはバックアップする時のルートディレクトリを設定します。-gはバックアップするディレクトリを指定します。

  3. 確認する

    バックアップが成功すると、-cでつけた名前の後に.1.darが付いたファイルが作られます。
    dar -l test-full
    で、バックアップされたリストが表示されます。

  4. ファイルを編集してみる。
    rm dar-test/aaa.txt
    echo "bbbbbbbbb" >> dar-test/ccc.txt
    などとして、ファイルを編集して見ます。

  5. 差分バックアップしてみる

    前回のバックアップ以降更新されたファイルをバックアップしてみましょう。
    dar -R ~/ -c test-diff -A test-full -g dar-test
    -Aオプションで、基準となるバックアップファイルを指定します。
    test-fullを基準としてそれ以降に更新されたファイルをtest-diffというファイルにバックアップします。

  6. 差分されたファイルを確認する
    dar -l test-diff
    きちんと更新されたファイルがバックアップされ、削除されたファイルには削除マークがされていますね。
    dar -l test-diff -as
    -asオプションを付けると、前回以降更新されたファイルだけを表示することが出来ます。

  7. リストアしてみる

    rm dar-test/* して、dar-testディレクトリ内をいったん空にしたら、いかのコマンドを実行してみてください。
    dar -x test-full

    1. 確認してみる
      ls -l dar-test
      合計 4
      -rw-r--r-- 1 hoge hoge 0 2007-08-27 23:40 aaa.txt
      -rw-r--r-- 1 hoge hoge 0 2007-08-27 23:40 bbb.txt
      -rw-r--r-- 1 hoge hoge 12 2007-08-27 23:40 ccc.txt
      削除したaaa.txtがあることや、ccc.txtのサイズに注目してください。

  8. 差分ファイルをリストアしてみる
    dar -wa -x test-diff
    -waは問い合わせを抑制します。
    1. 確認してみる
      ls -l dar-test
      合計 4
      -rw-r--r-- 1 hoge hoge 0 2007-08-27 23:40 bbb.txt
      -rw-r--r-- 1 hoge hoge 22 2007-08-27 23:59 ccc.txt
      削除したaaa.txtが削除されています。ccc.txtも編集したサイズになっています。最新の状態に復元されました。


とまぁ駆け足で説明してみましたがどんなものでしょう。大体の感じが掴めたでしょうか。
よく使うオプションは~/.darrcに記述できますのでいろいろ試してみてください。
以上。

2007年8月28日火曜日

Darで大事なデータをバックアップ

linuxではtarで適当に固めてバックアップ、というのが一番多い気がしますが、少数のファイルをバックアップするならそれで問題ないかもしれませんが、tarは、もし書庫が壊れたら、壊れた場所以降のファイルが取り出せない! という致命的な欠点があります。本格的なバックアップには使えません。

そこで、Darを使います。Darはバックアップのために作られたソフトで、増分・差分バックアップにも対応し、書庫の圧縮にも対応しています。また、バックアップしたくないファイルやディレクトリの指定、圧縮したくないファイルの指定、さらには拡張属性のバックアップにも対応しています。

インストール

sudo apt-get install dar

オプション

よく使いそうなオプションを抜粋
-cバックアップファイルを作ります。ファイル名を指定します
-xバックアップから展開します。ファイル名を指定します
-lバックアップされたリストを表示します
-as-lでリスト表示時に更新されたファイルだけ表示する
-tバックアップファイルが壊れていないかテストします
-dバックアップファイルとバックアップ元との比較を行います
-z[level]gzipで圧縮します。デフォルト圧縮レベルは9
-y[level]bip2で圧縮します。デフォルト圧縮レベルは9
-Z圧縮時、圧縮しないファイルを指定します
-m圧縮をするファイルの最低サイズを指定。指定以下のサイズのファイルは圧縮されない。デフォルトは100バイト
-s指定したサイズでファイルを分割します。
-S分割するとき、最初の分割ファイルのサイズを指定します
-X除外するファイルを指定します
-P除外するディレクトリを指定します
-gバックアップするディレクトリを指定します
-R pathこのパスをルートディレクトリとみなします
-D除外した結果空になったディレクトリをバックアップする
-G指定したファイルにバックアップ情報、カタログデータを書き出します
-A差分バックアップなどの時に参照するファイルを指定します
-,
CACHEDIR.TAGのあるディレクトリを保存しない


簡単な使い方



使う上でのちょっとしたTips


  • ファイル名の命名規則について
    バックアップファイル名には規則性を持たせた方がいい。
    例えば、
    フルバックアップは名前に-full、
    差分ファイルには-diff、
    増分ファイルには-incを付ける。

さらに`date +%Y%m%d`としてファイル名に日付を付与しておくのもいいだろう。 組み合わせて、ベース名-full-`date +%Y%m%d`とすれば、ファイルを判別するとき便利になるでしょう。
  • カタログを作る
    バックアップする時に、-G path/カタログファイル名とすることで、バックアップしたファイルのカタログリストを作ることが出来ます。
    バックアップファイルをDVD-Rに焼いた後でもカタログファイルを参照することで、わざわざDVD-Rをマウントしてリスト表示しなくても確認できるようになります。

2007年8月24日金曜日

パスワードファイルを定期的にgmailにバックアップ

パスワードなどを書き溜めたGnuPgファイルを普段emacsでeasypgを使って管理している。こうするとemacs上からgpgファイルを透過的に扱うことが出来るので大変便利だ。
大切なファイルなので複数のでメディアにバックアップしているのだけれど、gmailに定期的にアップすればストレスなく快適じゃない? ということでやってみた。

まず、添付ファイルをコマンドラインから送信できるメールコマンドを探した。意外とない。お手軽に手っ取り早くやりたかったのでmpackコマンドを使用することにした。日本語が使えないが、今回の目的には全然問題ない。

インストール

sudo apt-get install mpack

使い方

mpack -s "件名" 添付ファイル名 宛先
で送信できる。あ、MTAを入れていないと無理です。ubuntuにはデフォルトで入っていません。うちにはpostfixを入れていた。

あとは
#!/bin/sh
#

if [ ! -e "pass.gpg" ]; then
exit;
fi

mpack -s "password backup `date +%x%X`" pass.gpg hogehoge@gmail.com
などとしてシェルスクリプトを書いて、/etc/cron.daily に放り込もうかと思ったが、個人的なファイルなので、crontab -e で毎日一回実行するようにして終わり。
あとはgmailでフィルタ設定でゴミ箱にでも振り分けておけば、古いバックアップファイルは自動的に削除されていく。

2007年8月18日土曜日

ubuntuで定期的にプログラムを実行させる

ubuntuで定期的にタスクを実行させます。Windowsだとタスクスケジューラーですかね。あれって実は意外とよくできていたりします。あんまり使われていない気もしますが・・・

linuxだとそもそも定期実行は管理者が行うものだし、ubuntuでもタスクスケジューラに相当するGUIなアプリは入っていません。
端末からだと crontab -e でviで設定ファイルが開き、そこで定期的に実行したいプログラムの設定が出来ます。この場合crontabの書き方を知らないといけません。

そこでGUIなアプリの出番です。gnomeだと、gnome-schedule



KDEだとkCronというソフトが用意されています。



gnome-scheduleよりkCronのほうがよりわかりやすいので、おすすめです。ubuntuでもKDEのプログラムは動きます。

インストール

sudo apt-get install kcron
日本語で表示されない場合は一緒にkde-i18n-jaを入れましょう。
sudo apt-get install kcron kde-i18n-ja

インストールされると、メインメニューのアプリケーション→システムツール→kCronで起動出来ます。

使い方

新しくタスクを設定する場合は、新規アイコンをクリックすると設定ダイアログが出ます。ご覧のとおり解説するまでもないほどのわかりやすいインターフェースですねw



実行したいプログラムを指定して、あとは実行させたい時間をぽちぽちとボタンを押すだけ。

2007年8月7日火曜日

mp3タグの文字コードを変換する

現在iTunesで管理している楽曲をubuntuでも聴けるように、ゆっくりと移行作業を進めているのですが、iTunesライクな音楽管理ソフト、Amarokで曲表示をしますと思いっきり文字化けして表示されます。
これはID3タグがShift JIS で書かれているためで、id3Ver2だと文字コードはUnicodeと規格で決まっているのですけれども、Windowsだとそこら辺が適当でソフトによってまちまち。

それでID3タグの文字コードをUnicodeに変換することになりますが、一括で変換してくれるソフトでこれといったソフトがみつかりませんでした。
とりあえずSuperTagEditor 改造版で一括で変換し、mp3infpのプロパティでUnicodeに変換されていることを確認してAmarokで表示してみたのですが、文字化けしてダメでした。
ほかにもmp3infpのプロパティでusyncオプションにチェックがついているとAmarokで文字化けすることも確認しました。
さらにID3v2.4でUnicodeだとAmarokでは文字化けするらしい。

そこで今度はiTunesでid3v2.3に一括で変換を行いました。この時に自動でUnicodeに変換もしてくれます。
今度は無事Amarokで日本語が表示でき、めでたしめでたし^^
それにしても手持ちのライブラリが約3000曲。チェックするのは骨が折れる・・・

2007年8月2日木曜日

EmacsでAnthyの起動をダブらせないために

ubuntuの標準な日本語入力システムであるSCIM-Anthy。こいつの日本語入力ON/OFFを全角/半角キーに設定してある。そしてEmacsの日本語入力システムにもAnthyを使い、同じく起動に全角/半角キーを割り当てている。
こうして同じ起動キーを割り当てていると、SCIMのほうが起動してしまい、Emacsの方のAnthyが起動してくれない。
そこで、Emacs起動時に、
XMODIFIERS=@im=none emacs
として起動すれば無事にSCIMが起動せずにEmacsの方のAnthyが起動できた。
あとはaliasで
alias em='XMODIFIERS=@im=none emacs
とでもしておけばいいだろう。

2007年7月31日火曜日

gedit以上Emacs未満?なエディタ scribes

scribesは、geditよりも軽くて、Emacsのように色々覚えることが少なくて済む、けれども補完機能とか色分け機能が充実してまっせ的なエディタ。
emacsやviはむずかしい。けれどもgeditよりも高機能な?エディタが欲しいというひとにはいいかも?

インストール

ここにdebパッケージがあるので、ダウンロードしてダブルクリックすればOK。
インストするとメインメニューのアプリケーション→アクセサリから起動できる。

使い方

こちらにデモムービーがあるので、それを見れば大体の感じが掴めるでしょう。



なかなかいいんだけど、ちょいとファイルを書き変えたいときなどはvim使っているし、こちらのブログによると、あれであれな感じなのでさくっと削除^^
ちなみにShift_jisなファイルを開くとエラーで開けませんでした。