- PR -

zcat: stdout: Broken pipeという内容のメール

1
投稿者投稿内容
モモンガ斉藤
会議室デビュー日: 2004/11/08
投稿数: 6
投稿日時: 2004-11-08 10:30
お世話になっております。

RedHat EnterpriseLinux3.0を会社で使用しております。
先日より、突然
「Cron <root@server> run-parts /etc/cron.weekly」
というタイトルのメールが届くようになり、メールの中身は

/etc/cron.weekly/makewhatis.cron:

zcat: stdout: Broken pipe

という感じで
「zcat: stdout: Broken pipe」
という表記がひたすら続いているものでした。

ログを見ると、そのメールが届く前日にup2dateを実行しています。
実行した本人が今日から謎の長期休暇を取ったので連絡が取れない状態です。
自分なりにいろいろ調べてみたのですが、makewhatis.cronの中身にzcatの表記がなく、何を意味しているのか分からず、ホトホト困っております。

上記への対応策等、ご存知の方がいらっしゃいましたら教えて頂ければ幸いです。
よろしくお願い致します。
Toshi
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 62
投稿日時: 2004-11-08 12:57
引用:

モモンガ斉藤さんの書き込み (2004-11-08 10:30) より:

自分なりにいろいろ調べてみたのですが、makewhatis.cronの中身にzcatの表記がなく、何を意味しているのか分からず、ホトホト困っております。



Redhat 9 では makewhatis は /usr/sbin/ 内にあるシェルスクリプトで、内部で zcat を使用しています。多分EL3.0でも同じでしょう。

makewhatis.cron に習って手動でmakewhatis を動作させるとなにが原因か解るかもしれません。
モモンガ斉藤
会議室デビュー日: 2004/11/08
投稿数: 6
投稿日時: 2004-11-08 16:11
Toshi様
早速のご返答、ありがとうございました。

よくログを見ると、cron.Dailyでも同じものが発生していました。
なので、cron.Dailyとcron.Weeklyのmakewhatisを実行してみました。

そうしましたら、Dailyでは何も表示されずに処理が終わってしまいました。
しかし、Weeklyのmakewhatisを実行すると
「zcat: ./cancel.1.gz: No such file or directory」
というエラーが発生しました。
直後に/var/log/のcron関連のログを見ても何も表記されていません。

気になる点がありまして、makewhatisを実行しているにも関わらず、一番最初の質問で記載したようなメールが来る気配がありません。

何か問題があるのでしょうか?
教えて頂ければ幸いです。
よろしくお願い致します。
Toshi
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 62
投稿日時: 2004-11-08 16:49
引用:

モモンガ斉藤さんの書き込み (2004-11-08 16:11) より:

そうしましたら、Dailyでは何も表示されずに処理が終わってしまいました。
しかし、Weeklyのmakewhatisを実行すると
「zcat: ./cancel.1.gz: No such file or directory」
というエラーが発生しました。



多分最初の投稿にあったエラーの原因は此ではないでしょうか。
/usr/share/man/man1/cancel.1.gz ???
あたりが存在するかとか、
man cancel
してみるとか確認してみて下さい。

引用:

直後に/var/log/のcron関連のログを見ても何も表記されていません。

気になる点がありまして、makewhatisを実行しているにも関わらず、一番最初の質問で記載したようなメールが来る気配がありません。



ログは cron が作製しています。手動でスクリプトを動作した場合はログは記録されません。メールも同様です。
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2004-11-08 16:58
これじゃないですか?
Bug 64836: /etc/cron.daily/makewhatis.cron: 3000 lines of "zcat: stdout: broken pipe"
モモンガ斉藤
会議室デビュー日: 2004/11/08
投稿数: 6
投稿日時: 2004-11-08 17:31
申し訳ありません。
書き込みをミスってしまいましたorz

>Toshi様
/usr/share/man/man1/cancel.1.gzはありましたが、シンボリックになっていまして、シンボリック先のファイルはありませんでした。
man cancelに関しても、エラーが発生しました。

ところが、アップデートする前の状態に近い環境のサーバではシンボリック先を発見する事が出来、辿ってみると
NAME
lp - print files
cancel - cancel jobs
という記述のマニュアルを発見する事が出来ました。


>佐々木様
恐らくリンク先と同じ症状です。
今、必死に翻訳しているのですが・・・。
リンク先では、/etc/crontabを変更する方法があると書いてあるように見えるのですが(間違えていたら申し訳ないです)、その場合はどのように変更すればよろしいのでしょうか?

あと、手段としてもう1つのサーバを参照にシンボリックを作成し、マニュアルをコピーすれば直るのではないか?
という考えも持っているのですが、やはりしないほうが良いのでしょうか?

申し訳ありませんが、教えて頂ければ幸いです。
よろしくお願い致します。
Toshi
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 62
投稿日時: 2004-11-09 15:05
引用:

モモンガ斉藤さんの書き込み (2004-11-08 17:31) より:

/usr/share/man/man1/cancel.1.gzはありましたが、シンボリックになっていまして、シンボリック先のファイルはありませんでした。
man cancelに関しても、エラーが発生しました。


引用:

あと、手段としてもう1つのサーバを参照にシンボリックを作成し、マニュアルをコピーすれば直るのではないか?
という考えも持っているのですが、やはりしないほうが良いのでしょうか?



とりあえず試してみてはいかがでしょう。
シンポリックリンクを削除してしまうという手も考えられます。

引用:

恐らくリンク先と同じ症状です。
今、必死に翻訳しているのですが・・・。
リンク先では、/etc/crontabを変更する方法があると書いてあるように見えるのですが(間違えていたら申し訳ないです)、その場合はどのように変更すればよろしいのでしょうか?



man cron
man 5 crontab
してみて下さい。
モモンガ斉藤
会議室デビュー日: 2004/11/08
投稿数: 6
投稿日時: 2004-11-10 15:07
Toshi様

お世話になっております。
お返事が遅れてしまいました。申し訳ございません。

先程、消失したシンボリックを1つ追加しました。
詳しく調べてみると、消失したのは1つだけで、他のファイル等は存在していました。
追加した後に、cron.weeklyのmakewhatis.conを実行したところ、
「zcat: ./cancel.1.gz: No such file or directory」
のエラーはでなくなりました。

また、上記作業を実行する前に
man cron
man 5 crontab
を実行すると、マニュアル(日本語)が出てきました。

あのメールから同じようなメールが届かないので、暫く様子を見ようと思います。
丁寧なご返答、ありがとうございました。
凄く助かりました(^^
1

スキルアップ/キャリアアップ(JOB@IT)