調子にのってWebだNewsだMailだと遊んでいると電話代がかさむ。かさみにかさんで一万円を越えた。さすがに反省した。だが、ここで利用を控えるようでは正しいおサルとはいえない。一層遊んで電話代はケチる。それでこそ世間に恥じぬ立派なおサルといえよう。
さて今回の材料はテレホーダイ1800である。1800円/月で23:00〜8:00まで市内特定2ヶ所へはかけほうだいというやつである。NTTに申し込んでおしまいである。プロバイダは年間2万5200円で定額である。あとはおとなしく夜中にだけ使えば…これではおサル道に反する。
そこで、WebはGNUWgetというWebSiteまるごとコピーツールで手元のハードディスクにそっくりコピーしてしまう。ブラウザでみるときはなにせローカルだから、たいていのページは0.5秒くらいでひらけてああ快適。大きなファイルをダウンロードするのも寝ているうちに終わっている。 Mailはとりあえずキューにためておいて、imget,imputで自動的に出し入れする。私は勢いでええかげんなことを書いて後で後悔するたちなので、ちょうどよい。 Newsはやっぱりローカルにためておく。これもNewsReaderで読むときにはどの記事も一瞬で開く。めでたしめでたし。これはgnspoolとmnewsを使う。 これ全部をcrondを使って毎日23:15に自動実行させる。万全の計画といえよう。 こいつをサルなりにスクリプトにする。
さて実践である。使用OSはPlamo Linux 2.0である。まずはrootで#crontab -eとすると自動的にviエディタが起動してcrondの予定表が出ている。viよりはemacsが好きというむきはあらかじめ#export VISUAL="emacs"としておくとよい。
さて、つぎのような画面がでるのでこの最後の2行を追加すればよい。
------------crontab -e -------------------------------------------------- # working if the timestamp is current. Comment it out if it bugs you. :^) # * * * * * touch /tmp/.crond_running 0 6 * * * /usr/sbin/logrotate /etc/logrotate.conf 0 7 * * * /usr/sbin/ppp-off 15 23 * * * /usr/sbin/get1 -------------------------------------------------------------------------
すこし解説すると
0 7 * * * /usr/sbin/ppp-off は毎日あさ7:00にppp接続を切るということで無くてもよさそうだがまあ保険かおまじないみたいなものである。
15 23 * * * /usr/sbin/get1 これが本体になるスクリプト。
で/usr/sbin/get1はこんなかんじ
--------/usr/sbin/get1-------------------------------------------------- #!/bin/bash touch /tmp/flag /usr/sbin/ppp-on ------------------------------------------------------------------------
実は/tmp/flagという目印ファイルを作ってppp-onするだけ。
仕掛は/etc/ppp/ip-upにある。
--------------------/etc/ppp/ip-up--------------------------------------- #!/bin/bash if [ -f /tmp/flag ] ; then /usr/sbin/get2 fi -------------------------------------------------------------------------
とみせて伝言ゲームはまだつづく。こんどはflagを確認してget2を呼び出す。
------------/usr/sbin/get2---------------------------------------------- #!/bin/bash cd /tmp/webtree su geneusr < /home/geneusr/get3 /usr/sbin/ppp-off exit0 ------------------------------------------------------------------------
/tmp/webtreeディレクトリィはあらかじめ作っておく。この下にホームページのコピーができる。
su geneusrでrootから一般ユーザに化ける。こうしないとMailやNewsはとても具合が悪い。常用の一般ユーザはgeneusrというアカウントである。ここでやっと真打ちのget3が御出座しになるわけである
--------/home/geneusr/get3-------------------------------------------- #!/bin/bash cd /tmp/webtree wget -xv -np -o log01 http://www.asahi-net.or.jp/~KI4S-NKMR/index.html wget -m -np -a log01 http://sx.sakura.ne.jp/~time/zik/zik_main2.html wget -m -np -a log01 http://www.sorekika.com/ wget -a log_JF ftp://ftp.linet.gr.jp/pub/JF/JFtxt.tar.bz2 gnspool imget imput -q exit 0 ------------------------------------------------------------------------
wget の後にウェブサイトのURIを書けばよいわけである。
wgetはたいていのディストリビューションにcontribなどでついている。
ただマニュアルが英語なのでちょっと訳してみた。
/usr/local/manにおけそうなかんじにもしてみた
雑な訳できっとウソも多いに違いない。みつけたら教えて下さい。
仕上は /etc/ppp/ip-down である。これがないと伝言ゲームの意味がない。 ついでにシャットダウンもさせている。 電気の無駄使いはCO2規制にひっかかるおそれがある。
--------- /etc/ppp/ip-down ------------------------------------------ #!/bin/bash if [ -f /tmp/flag ] ; then rm /tmp/flag /sbin/shutdown -h now fi --------------------------------------------------------------------
忘れずにここまでのスクリプトすべてに chmod u+x としてxビットをたてておく。
imput,imgetもたいていのディストリビューションについている。…と思う。
ただ、少し設定が必要で、
$imsetup
としてimの設定ファイルの~/.im/Configの雛型をつくる。そのあと
$emacs ~/.im/Config
で手直しする。次の項目の行頭の#をはずす。
------------ ~/.im/Config ----------------------------------------------- #UsePwFiles=yes #PwFiles=password #QueueDir=queue #JustQueuing=yes #Queuing=yes -------------------------------------------------------------------------
$mkdir ~/.im/queue でキューディレクトリィをつくり、
$emacs ~/.im/password でパスワードファイルをつくる。
パスワードファイルはこんな具合である。
------------- ~/.im/password ---------------------------------------- #protocol server user password pop/POP POPSERVER.HOGE.NE.JP ユーザ名 パスワード ---------------------------------------------------------------------
さらにパスワードのファイルなので、パーミッションもかえねばならぬ。
$chmod 600 ~/.im/password
gnspoolはgn-1.40.tar.gzをmnewsはmnews-1.22.tar.gzを ftpでとってきて、tar xvzf で解凍して中にあるdocを読んでmakeするだけである。 ただし、"-DUSG" だけは指定をとかないとmakeができなかった。
また、gnspoolは各ニュースグループごとに50以上記事をためると全部とるかどうか聞いてくるので、初回は手動起動し、以降ためこまないようにしなければならない。とまあ、あちこちボロボロだがなんだか使えてはいる。
で、その後わたしがどうなったかというと。さんざ苦労して設定したあげく「今すぐみたい、手紙を出したい、返事が来てないか知りたい」欲求に負けて結局巨費を投じているのだった。所詮サルはサル。合掌。