メインコンテンツまでスキップ

整理と清掃

ディスク容量が不足している場合や、定期的にログ/一時ファイルを削除する場合に使用します。

コンテナモード(2026.05+)の清掃

コンテナモードでは、image 内の logrotate(cronie + /etc/cron.daily/logrotate)が daily / size>100M / 14日 gzip で自動整理します(8コンポーネントのログすべて)。UIの「一時整理」ボタンは signal file (/etc/kopens/host-action.request {"action":"tempClean"})→ host の kopens-host-action.path が /data1/pp-temp/* を空にしてコンテナを再起動する処理です。

Dockerイメージのガベージコレクション: install.sh がインストールした weekly cron(/etc/cron.weekly/plantpulse-cleanup) が30日を超える image / dangling layer / 30日を超える journald を自動整理します。


1. clean.sh — ログ / 一時ファイルの一括削除​

$PE_HOME/bin/clean.sh

削除対象(DB / ユーザーデータには触れません — 安全):

  • server/logs/*(Tomcat)
  • db/logs/*(Cassandra log — sstable データはそのまま)
  • mqtt/log/*
  • timeseries/*/log/*
  • cache/log/*
  • node/log/*
  • /tmp/*
/tmp/* 一括削除 — 他のユーザーの一時ファイルも同時に

clean.sh は システム全体 の /tmp も空にします。ssh セッションの socket / systemd-private / X11 / journal の一時ファイルも一緒に消えます。単独で運用しているゲートウェイマシン 以外では注意。


2. node-cleanup.sh — Cassandra ディスク回収​

$PE_HOME/bin/node-cleanup.sh

実行:

  • nodetool clearsnapshot --all — 古い snapshot のディスク回収
  • nodetool cleanup — token range 変更後の未使用 sstable 削除

通常は start.sh がバックグラウンドで自動呼び出されますが、ディスク不足 のときに手動でもう一度実行できます。

分単位の所要時間(sstable の量に比例)。I/O 負荷が少し発生します — 収集トラフィックが閑散な時間帯 に推奨。


3. ディスク不足への対応(全体手順)​

# 1. 무엇이 차지 중?
df -h
du -sh $PE_HOME/*/log/* /data1/* 2>/dev/null | sort -h | tail -20

# 2. 로그 / 임시 파일 정리
$PE_HOME/bin/clean.sh

# 3. Cassandra 디스크 회수
$PE_HOME/bin/node-cleanup.sh

# 4. 오래된 백업 정리 (30 일 이상)
find /data1/pp-backup -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +

# 5. (옵션) Docker 이미지 / 컨테이너 정리
docker system prune -af

# 6. 결과 확인
df -h

4. よくある落とし穴​

症状原因 / 解決策
clean.sh 後に ssh が突然切断される/tmp/* の ssh socket まで削除 — 別セッションで再接続
node-cleanup.sh 後もディスクが回収されないsstable compaction 待機中。nodetool compactionstats で進行状況を確認
find /data1/pp-backup -mtime +30 が0件バックアップが直近30日以内のみ存在。期間を調整(-mtime +14 など)

5. 関連情報​