SSブログ

clamdscanがエラーを発生することがある (Debian 10) [Debian]

[ソフトウェアのバージョン]
clamdscan 0.103.2+dfsg-0+deb10u1
anacron 2.3-28

1. 発生事象


clamdscan がエラーを発生することがある。

[エラーメッセージ]
ERROR: Could not connect to clamd on LocalSocket /var/run/clamav/clamd.ctl: \
Connection refused

2. 原因


下記のいずれかの事象が発生したためと思われる。

(1) clamdscan の実行中に shutdown が実施された。


この場合にも上記のエラーメッセージが出力される。
現在の設定やコマンドの実行履歴から考えて、こちらの可能性が高い。


(2) clamd が正常に稼働していない状態で clamdscan が実行された。

(補足)
・clamdscan を anacron から実行している。
 /etc/cron.daily/clamav-scan を追加している。
 (clamav-daemon.service が active の場合にのみ cladscan を実行する。)
 /etc/cron.daily/* は、anacron の起動の 5 分後に順次実行される。
 (cf. /etc/anacrontab)
・anacron は /lib/systemd/system/anacron.timer から実行される。
 通常は時刻指定で、07..23:30 に最大で 5 分の待機後実行される。
 前回の実施状況により、ブート直後に実行されることがある。
・clamd の /var/run/clamav/clamd.ctl の作成には、通常 40〜45 秒を要する。


3. 対処方法


(1) clamdscan を実行中の shutdown を回避


shutdown の前に clamdscan プロセスの有無を確認する。

(例)
% ps c -C clamdscan


(2) clamd が正常に稼働していない状態での clamdscan の実行の回避


上記の (1) の対応で改善しない場合には、下記の手順を実施する。

(a) /etc/cron.daily/* が実行されるまでの待機時間の延長


/etc/anacrontab の cron.daily の行を編集する。

(例)
5 分(初期値)から 10 分に延長する。
待機時間の重複排除のため、cron.{weekly,monthly} について調整する。


(b) ブート直後の anacron の実行の回避


・/lib/systemd/system/anacron.timer を編集する。

[Timer] 欄の 'Persistent=true' を削除する。


・変更内容の反映

# systemctl daemon-reload


(補足)
下記のような事象を想定した対応である。
・実行環境により、clamd の動作が安定するまでに想定外の時間を要する。
・実行環境により、socket file の作成に想定外の時間を要する。


4. 備考


(1) /lib/systemd/system/anacron.timer を変更したくない場合の対応


(a) /etc/systemd/system/anacron.timer の作成


/lib/systemd/system/anacron.timer をコピーする。


(b) /etc/systemd/system/anacron.timer の編集


/lib/systemd/system/anacron.timer の場合と同じ。


(c) 変更内容の反映

# systemctl daemon-reload
# systemctl enable anacron.timer


(補足)
cf. /etc/systemd/system/timers.target.wants/anacron.timer
  (/etc/systemd/system/anacron.timer へのリンクに変更されている。)



nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。