[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:09066] Q:通常ログインと、cron起動は何か違う?
-
From:Netscape
-
Date:Tue, 13 Mar 2001 10:17:20 +0900
- Subject: [plamo:09066] Q:通常ログインと、cron起動は何か違う?
- From: Netscape <lpk@xxxxxxxxxxxxxxxx>
- Date: Tue, 13 Mar 2001 10:17:20 +0900
- Posted: Tue, 13 Mar 2001 10:17:15 +0900
みなさま、おはようございます。こんにちわ。こんばんわ
早速で申し訳ないのですが、通常にユーザー名を入力してログインしたとき
と、cronで呼び出した時とでは、環境が異なるのでしょうか?
実は、mknmzでのインデックス作成を自動化しようと、下に添付したような
perlスクリプトを書きました。
これを使うと、購読しているメーリングリストのデータを、自動的に月別に分
けて、インデックスも作成します。コンソール画面で何度も試験しましたが、問
題ありませんでした。
ところが、それならばこれをcronにやらせて、自動化しようと、
> 35 8,17 * * * /home/www/mhonarc.pl
をcrontabに組み込んで、翌朝見てみたら、新着のメールだけ、インデックスが
文字化けしていました。
文字化けはnamazuのインデックス部分だけで、実際のMLログや、ツリー等は正
常でした。
再度cronを切って、コンソールで実行すると、文字化けは起こりません。
と、いう事は、cronで実行する時に、コンソールとは違う環境になっているの
でしょうか?
また、cronでもコンソールと同じ環境にするにはどうしたら良いでしょうか?
--
=============================================
株式会社エルピーカンシサービス 関東営業所
吉川 一浩(Kazuhiro Yoshikawa)
E-Mail: lpk@aioros.ocn.ne.jp
=============================================
-- mhonarc.pl --
#!/usr/bin/perl
#
#
system "/usr/bin/fetchmail --quit";
#
#MLタイトルを配列に設定
@ML =
("apache","linux98","mn128soho","namazu","pgsql","plamo","samba","perl","java_study","netbsd98","jbuilder");
#
#作業ディレクトリ
$MAINDIR = "/home/www/htdocs/";
#
#年・月データの取得
$YEMO = &get_date_string;
#
#MLタイトルが無くなるまで処理を繰り返し
foreach (@ML) {
#
#ディレクトリデータの作成
$CO = "$MAINDIR";
$CO .= "$_/$YEMO";
if(!opendir(DIRHANDLE,$CO )) {
#
#年月のディレクトリは無いので、作成する
mkdir $CO ,0777 or die "$CO:cannot make\n";
#
#メールを処理する
&mailmanage
} else {
#
#年月のディレクトリがあるので、受信メールを処理する
print "dir ok!\n";
&mailmanage
}
#
#処理終わり
}
#
#
system "/usr/bin/fetchmail -f /home/www/fetchmailrc --daemon 300";
#
#日付入力サブルーチン
sub get_date_string {
local($min,$hour,$day,$mon,$year);
($sec,$min,$hour,$day,$mon,$year) = localtime(time);
$year += 1900;
$mon++;
if ($mon < 10) { $mon = "0$mon";}
return "$year$mon";
}
#
#メール処理ルーチン
sub mailmanage {
opendir DIRHANDLE,"/home/www/procmail/$_";
@DIR = readdir DIRHANDLE;
if ( $#DIR > 1) {
#
#ディレクトリにメールがあるとき
#
#MHonArcでメールをhtmlに変換
$co = "/usr/local/bin/mhonarc ";
$co .= "-add ";
$co .= "-rcfile /home/www/.mhonarc.rc ";
$co .= "-modtime ";
$co .= "-tlevels 10 ";
$co .= "-multipg ";
$co .= "-outdir $CO ";
$co .= "/home/www/procmail/$_";
system " $co";
print "$_:Mail->html OK!\n";
#
#mknmzでインデックス作成
$co = "/usr/bin/mknmz ";
$co .= "--checkpoint ";
$co .= "-O /home/www/index/$_ ";
$co .= "/home/www/htdocs/$_";
system "$co";
print "$_:Make Index OK!\n";
#
#メールデータを削除
foreach $FL (@DIR) {
if ($FL !~ m/\.+/) {
unlink "/home/www/procmail/$_/$FL";
}
}
print "Mail DEL OK!";
#
#ディレクトリにメールがないとき
} else {
print "/home/www/procmail/$_ No Mail"
}
}
# あまり美しくないプログラムかも(^_^;)
- Follow-Ups
-
- [plamo:09068] Re: Q:通常ログインと、cron起動は何か違う?, Shun-ichi TAHARA (田原 俊一)
- [plamo:09069] Re: Q:通常ログインと、cron起動は何か違う?, Namio MATUDA
[検索ページ]
[メール一覧]
Plamo ML 公開システム