FreeBSD | a weblog by k1
Home > FreeBSD

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

GNU tar インストール on さくらサーバ

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

lvインストール on さくらサーバ

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のセッションが切れる

さくらのサーバをレンタルして、sshで入って使っているのだが、
しばらくほっとくとセッションが切れてしまう。

サーバがタイムアウトで切ってしまうのかと思ったが、そうでもないらしい。

結局のところ、どうやら、ブロードバンドルータの仕業のようである。
仕業というか、要するに、無通信が続くとNATテープルからエントリが消えてしまい、
パケットを送っても届け先不明になってしまうようだ。

sshクライアントにはPuTTYを使っており、これの設定項目を見直したら、

セッションをアクティブに保つためのnullパケットの送信
Keepalives間の秒数(0でオフ)

という項目があった。下図の赤丸のところ。
デフォルトはオフの0になってた。

putty_keepalives

これを上の図のように試しに60にしたところ、セッションが切れなくなった。
めでたし、めでたし。

これを確認した後で、図の緑丸の部分、

Enable TCP keepalives (SO KEEALIVE option)

に気づいたが、未確認。



2009.05.21

coreutils インストールon さくらサーバ

さくらのレンタルサーバが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

さくらのレンタルサーバはFreeBSD

普段は自宅サーバを使っているので、レンタルサーバには特に興味がなかった。

が、ちょっとしたオモワクがあって、サーバをレンタルしてみた。

どこにしようかと思ったが、
なんとなく昔から名前を知っていて、かつ、安価なさくらサーバにした。
バックボーンネットワークもしっかりしてそうだし。

スタンダードプランで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でのコンフィグ再設定

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-ROMからISOイメージを吸い出す

音楽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サーバ

Windows版のフリーのXサーバをいくつか試したが、Xmingが手軽な感じ。

http://sourceforge.net/projects/xming

上記リンクから本体とフォントをダウンロードしてインストール。XLaunch.exeで設定すればOK。

2009.03.22

apache: Aliasのアクセスが拒否される

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>

最初は下の二行のアクセス条件の設定を入れ忘れていた。

Next »