"Shibuya, Nobuhiro" <shibuya@dd.iij4u.or.jp> writes:

> 渋谷@家から です
> 
> ネットワーク越しでネットワークを意識して何かをやると
> いうのがとっても苦手なわたしは
> newsspoolの実ファイルシステムに直接アクセスして
> 前日と当日のプレインファイル数を数えて引き算する
> とかいう方法よりずっと冴えやりかたは思いつかないけど
> 変なスクリプトをでっちあげてテンポラリファイルなしで計算を
> 済ませる方法っていうのもその範疇でフィージブルかもしれない。

えと、やってることは、
・ニューススプールから過去1日のファイルのファイル名を抽出
・^Newsgroups:.*fj でgrepして残ったものをそのまま残す。(テンポラリ1に残す)
・テンポラリ1から^Newsgroups:と,を全部改行に変換。ついでに余分な空白を削除(これがテンポラリ2)
・テンポラリ1をuniq -cする。(WeeklyとMonthlyはそのあとsortする。)
・ヘッダとか文章を足してニュースグループに投稿。

なぜ、テンポラリを使うかというと、テンポラリ1の行数が全投稿数(wc  c -lでカウント)
そこから、さらに加工して各ニュースグループの投稿数計算してます。
再計算すると時間かかるし。

perlとかで作り直せばいいような気もしますが。
 
> Yoshitaka Ikeda wrote:
> 
> > うわわああん。またテンポラリファイルのパーミッションが原因でした。
> > やはり、テンポラリファイル名もフルパスで書いたほうがいいのかなぁ。
> 
> 用心としてはスクリプト初期化のルーティンに UMASK値指定と変数のexport実行
> するのが個人的には望ましいと思うけど。変更も最小ですませられそうだし。
> とはいえスタイルはそれぞれ。方法も複数。

移植性とか考えてないので、動けばOKマイペンライで作っちゃってます。
まあ。人に見せるものじゃないので(公開してもいいけど別に対したことやってないので)
動いてる状況で、さらなる変更はあんまりやりたくないです:-)
 
> なんかを触らせられる仕事のときは大体最大権限だったりするので
> パーミッションが欠けていてアクセスできないということはわたしの場合
> 経験がないのでお役に立てないかも。
> そういうのはちゃんとしたプログラマの人が得意とする分野なんだろうなあ。
> #荒っぽいがさつな仕事ですとも。わかってます。

テストを間違ってrootで実行してしまった(でcron実行がrootじゃない)ってあたり
に問題があるのかも:-)
テスト実行するときとカレントディレクトリ違うのでちょっと気づきにくかったです。

> 。。。とかいうコメントは Newsgroup: fj.news.lists
> で続けるよりも fj.news.misc とか fj.news.promotionとかが
> いいのかなあ。 "fj日報 %Y/%m%d %a" の投稿は
> Followup-to って指定つきでに仕様変更することを提案します。

提案は受け付けますが、どこのニュースグループを指定しましょうか?

-- 
-- 
I LOVE SNOOPY!  でつ
Yoshitaka Ikeda mailto:ikeda@4bn.ne.jp
My Honeypot: honey@4bn.ne.jp  <-don't send this address