くれすのFreeBSD日記 このページをアンテナに追加 RSSフィード

只今建設中。。。

CressUnix.org

2007年04月04日(水)サーバ使いの特権

[] tar丸めサイト移管 16:41  tarで丸めてサイト移管 - くれすのFreeBSD日記 を含むブックマーク はてなブックマーク -  tarで丸めてサイト移管 - くれすのFreeBSD日記

サイト移管のとき、ファイルを全部tar丸めてしまうと楽。

$ tar cvjf web.tar.bz2 public_html

でも、コレだとパーミッション777ファイルディレクトリがあったりすると、Otherのパーミッションが保持されてくれない。

そんなときは、 -p を付けてやる。

$ tar cvjpf web.tar.bz2 public_html

解凍時にも付けましょう。

$ tar xvjpf web.tar.bz2

でも、コレにも実は問題があって、PHPCGIが作ったファイル(=所有者がwwwとかnobody)があったりすると、そこだけうまく行かない。

そんなときは --same-owner を付けてやりましょう。

$ tar cvjp --same-owner -f web.tar.bz2 public_html

解凍rootじゃないと失敗する*1ので注意。

# tar xvjp --same-owner -f web.tar.bz2

多分、UIDが違っていると思うので、あとは随時

# chown myuser `find public_html -user 555`

とかやって一括でそろえてやるのがよろしいかと。

一般のホスティング向けの情報じゃないね。コレ。

途中からrootで作業するって・・・

まあ良いか。ココ、サーバ管理者の方々も見ているようだし。

*1:正確には、chownできる権限かな?

トラックバック - http://freebsd.g.hatena.ne.jp/Cress/20070404

2007年01月03日(水)ぐーぐるさいとまっぷ

[] Google Sitemap入れた 17:05  Google Sitemap入れた - くれすのFreeBSD日記 を含むブックマーク はてなブックマーク -  Google Sitemap入れた - くれすのFreeBSD日記

トリックスター日記にsitemap.xmlを導入。静的ページだけなら良かったものの、tDiaryデータも混在しているためややこしくなっている。

とりあえずsqueeze.rbでHTMLを静的に出してやる。そちらはひとまずurllist.txtにURL一覧をまとめた。

sitemap_gen.pyの設定ファイルtrickster.xml)の中身は

<site
  base_url="http://trickster.cress.cc/"
  store_into="/home/cre/www/trickster/sitemap.xml.gz"
  verbose="1"
  >

こんなのがあって

  <directory
     path="/home/cre/www/trickster"
     url="http://trickster.cress.cc/"
     default_file="index.html"
  />
  <urllist
     path="/home/cre/www/trickster/tdiary/urllist.txt"
     encoding="UTF-8"
  />

こんな感じ。面倒なので一部だけ。directoryの方は静的ページ用。urllistの方はURL一覧から読み取っている。

こんな感じのをcronで定時に実行してやればOK。


↓に、cronで実行する処理をまとめた。これを早朝の人少ない時間帯に実行してやればよろしい。

#!/bin/sh

MYSRC=/home/cre/tdiary_data/trickster/cache/html
MYDST=/home/cre/www/trickster/tdiary/urllist.txt
MYURL=http://trickster.cress.cc/tdiary

/bin/rm -f ${MYDST}
for year in `/bin/ls ${MYSRC}`
  do for date in `/bin/ls ${MYSRC}/${year}`
    do echo ${MYURL}/${year}${date}.html >> ${MYDST}
  done
done

cd /home/cre/tools/sitemap_gen-1.4
/usr/local/bin/python sitemap_gen.py --config=trickster.xml

最後の行に > /dev/null やるとちょっとだけ静かになる。

今年はシェルスクリプトの書き方をもう少し勉強したいところ。ほとんどやっつけに近いので。


余談。

cronのメール送信先設定を携帯電話宛てにしてある。

朝起きる時間に設定して、目覚ましも兼ねてみる。

[] Hyper Estraier導入 23:24  Hyper Estraier導入 - くれすのFreeBSD日記 を含むブックマーク はてなブックマーク -  Hyper Estraier導入 - くれすのFreeBSD日記

libiconv

$ tar xvzf libiconv-1.11.tar.gz
$ cd libiconv-1.11
$ ./configure --prefix=/home/cre
$ make
$ make install

qdbm

$ tar xvzf qdbm-1.8.74.tar.gz
$ cd qdbm-1.8.74
$ ./configure --prefix=/home/cre --enable-zlib
$ make
$ make install

estraier

これだけ失敗。makeのとき、環境変数LD_RUN_PATHを指定してやる。決め打ちっぽくなっちゃうのでアレだけど。exportしたほうが良いのかな?

$ tar hyperestraier-1.4.9.tar.gz
$ cd hyperestraier-1.4.9
$ ./configure --prefix-/home/cre --enable-zlib
$ LD_RUN_PATH=${HOME}/lib make
$ make install

tDiaryとの連携はまだ。

トラックバック - http://freebsd.g.hatena.ne.jp/Cress/20070103