PC-Blues #9 電話代がかさむ

 調子にのって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以上記事をためると全部とるかどうか聞いてくるので、初回は手動起動し、以降ためこまないようにしなければならない。とまあ、あちこちボロボロだがなんだか使えてはいる。


  で、その後わたしがどうなったかというと。さんざ苦労して設定したあげく「今すぐみたい、手紙を出したい、返事が来てないか知りたい」欲求に負けて結局巨費を投じているのだった。所詮サルはサル。合掌。

[前へ] [次へ]
[Home] [目次]