2009.06.28
さくらサーバ上のファイルも増えてきたのでバックアップしておこうかと、簡単なスクリプトを作成。
#!/bin/sh
PATH=$HOME/bin:/usr/bin
BACKUP_DIR=$HOME/backup
HOLD_DAYS=30
cd $BACKUP_DIR
tar zcf backup_`date +"%Y%m%d"`.tar.gz $HOME --exclude $BACKUP_DIR
find . -mtime +$HOLD_DAYS -exec rm {} \;
sync
exit 0
- 事前に、ホームディレクトリにbackupというディレクトリを作っておく。
- このディレクトリにtarでホームディレクトリ以下をすべてバックアップする。
- ただし、backupディレクトリは対象外とする(当然)。
- シェル変数HOLD_DAYSで指定した日数分だけバックアップファイルを保存する。
- 保存日数は、ディスクの使用量との兼ね合いで見直す。
- tarはGNU版を想定。FreeBSD版でもできるのかもしれないけど、未確認。
このスクリプト(とりあえず、mkbackup.shという名前とする)をcronで起動する。こんな感じ。
% crontab -l
SHELL=/bin/sh
PATH=/home/XXX/bin:/home/XXX/etc:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow command
0 4 * * * mkbackup.sh
- /home/XXXは自分のホームディレクトリ。
- PATH=$HOME/binのようには書けないらしい(展開してくれない)。


2009.06.27
tarもGNU版の方がいいなぁ、ってことでインストール。
% wget http://ftp.gnu.org/gnu/tar/tar-1.22.tar.gz
% tar zxvvf tar-1.22.tar.gz
% cd tar-1.22
% ./configure --prefix=$HOME
% make
% make install


2009.06.25
UTF-8なファイルを扱うことがあるので、lvをインストールしておく。
lvとはUTF-8を含む、各種文字コードに対応したlessみたいな物。
フィルタにもなるので、UTF-8対応のnkfというような使い方も可能。
% wget http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz
% tar zxvvf lv451.tar.gz
% cd lv451/src
% ./configure --prefix=$HOME
% make
% make install


2009.05.23
さくらのサーバをレンタルして、sshで入って使っているのだが、
しばらくほっとくとセッションが切れてしまう。
サーバがタイムアウトで切ってしまうのかと思ったが、そうでもないらしい。
結局のところ、どうやら、ブロードバンドルータの仕業のようである。
仕業というか、要するに、無通信が続くとNATテープルからエントリが消えてしまい、
パケットを送っても届け先不明になってしまうようだ。
sshクライアントにはPuTTYを使っており、これの設定項目を見直したら、
セッションをアクティブに保つためのnullパケットの送信
Keepalives間の秒数(0でオフ)
という項目があった。下図の赤丸のところ。
デフォルトはオフの0になってた。

これを上の図のように試しに60にしたところ、セッションが切れなくなった。
めでたし、めでたし。
これを確認した後で、図の緑丸の部分、
Enable TCP keepalives (SO KEEALIVE option)
に気づいたが、未確認。


2009.05.21
さくらのレンタルサーバがFreeBSDなのはいいけど、
やっぱ、基本的なコマンドはGNUのものでないと調子が出ない。
ということで、GNU coreutilsをインストール。
rootにはなれないんで、ホームディレクトリに以下にインストールする。
% wget http://ftp.gnu.org/gnu/coreutils/coreutils-7.4.tar.gz
% cd coreutils-7.4
% ./configure --prefix=$home
% make
% make install
ついでに、~/.cshrcをいじって、コマンドパスの先頭に
~/binが来るようにした。
#set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
set path = ($HOME/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin)


2009.05.19
普段は自宅サーバを使っているので、レンタルサーバには特に興味がなかった。
が、ちょっとしたオモワクがあって、サーバをレンタルしてみた。
どこにしようかと思ったが、
なんとなく昔から名前を知っていて、かつ、安価なさくらサーバにした。
バックボーンネットワークもしっかりしてそうだし。
スタンダードプランで3GB 500円/月。年払いだと5000円。
この他、入会金が1000円だったかな?
そんでもって、入ってビックリ。
OSはFreeBSDだった。こういうのはLinuxなんだろうと勝手に思い込んでいた。
% uname -srm
FreeBSD 7.1-RELEASE-p5 i386
FreeBSDならそれなりにわかるぞ。
シェルもデフォルトでtcshなのがうれしい。
でも、FreeBSDってことは、viが本当のviなんで、
慣れ親しんだvimをインストールした。
vimといっても、十年来使い込んでる、jvim 3.0だけど。
sshでログインできるし、とりあえず、快適。


2009.05.18
FreeBSDのportsでmakeする際にコンフィグレーションの指定画面が出ることがある。
一度インストールしておしまいならいいのだが、設定を変えて再インストールしたいこともある。
単にmakeとしただけでは設定画面が出てこない。make deinstall; makeでもダメ。
調べたところ、
# make config
でいいらしい。
あるいは、編集内容がわかっているのならコンフィグファイルを直接編集するとか。
例えばbind94なら、
# vi /var/db/ports/bind94/options
という感じ。
もしくは、このコンフィグファイルを消してしまえば、
一番最初のmakeのときのようにコンフィグレーション画面が出る。
# rm /var/db/ports/bind94/options
# cd /usr/ports/dns/bind94
# make
portsのmake前に依存関係のある全てのportsをmake configする
http://www.kishiro.com/FreeBSD/make_config_recursive.html
portsの使い方
http://iris.homeunix.net/yayoi/freebsd/basic/ports.asp
2009.04.02
音楽CDだとリッピングツールを使うので、データディスクも何か特殊なツールを使うのだろうと思い込んでしまっていた。
単純にddで吸い出せばOK。盲点だった。
% dd if=/dev/cdrom of=/tmp/cdimage.iso
元ネタ
Create ‘CD or DVD’ ISO image on Linux
http://superlinux.blog50.fc2.com/blog-entry-63.html
2009.04.01
Windows版のフリーのXサーバをいくつか試したが、Xmingが手軽な感じ。
http://sourceforge.net/projects/xming
上記リンクから本体とフォントをダウンロードしてインストール。XLaunch.exeで設定すればOK。
2009.03.22
Aliasで指定したディレクトリを見に行くと403のエラーになってしまう。
エラーログには、client denied by server configurationのように記録されている。
正解は以下の通り。
Alias /test /usr/local/test/
<Directory "/usr/local/test/">
AddDefaultCharset Off
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
最初は下の二行のアクセス条件の設定を入れ忘れていた。