A LEGEND 2

Loading

本文へ移動

Application

Linux SHELL “ImageJob™”

安全・再現性・拡張性を重視した、業務用画像一括変換ジョブ

  • 4.0.0
  • 2026-05-03
  • Linux
  • Utility

About

アプリケーション概要

定期実行(cron)を前提とした 業務用途向けの画像一括変換ジョブです。 単なるリサイズスクリプトではなく、「事故らない運用」を最優先に設計されています。 入力画像は work/ に置くだけで自動検出され、以下の成果物を生成します。 ・透かし付きメイン画像  事前リサイズ → 透かしサイズ計算 → 透かし合成 →(任意)文字入れという明確な工程を持ち、解像度差による透かし崩れを防止します。 ・resize1 / resize2 / cover  すべて「透かし無し」で生成され、正規化済みの共通元画像から派生します。  SNS用、サムネイル用、OGP用など用途別の画像を安全に作成できます。 ・original(元画像)  入力原本をそのまま保持し、トラブル時の復旧を可能にします。 さらに以下の点を重視しています。 ・安全性  ・壊れた画像・極端に小さいファイルは自動隔離  ・set -e 環境でも落ちない制御構造  ・二重起動防止(ロック機構) ・運用耐性  ・backup ディレクトリの無限肥大を防ぐ   (保持日数・容量上限・日付ディレクトリ分割)  ・DRY-RUN モードによる事前検証  ・詳細なステージ別ログ出力 ・拡張性  ・jpg/jpeg/png はコード側で最低限保証  ・設定ファイルで追加フォーマット・振る舞いを柔軟に拡張可能  ・設定ミスでも「何も処理されない」事故を起こさない設計 「人が毎回確認しなくても安心して回せる」ことを最大の目的として設計された、実運用向けの変換ジョブです。

Changelog

変更履歴

Version 4.0.0

STABLE

新バージョンリリース

imagejob v4 PHP Edition は、画像変換と Google Drive 同期を自動化するための運用ツールです。
従来のShell版からPHP版へメジャーアップし、設定管理、ログ出力、ロック制御、Google Drive API連携、差分同期処理をPHPベースで再構築しました。

画像を work ディレクトリに配置すると、元画像コピー、透かし入り画像、複数サイズのリサイズ画像、カバー画像を自動生成し、成功した元画像は backup へ、失敗した画像は failed へ振り分けます。変換成功後は、設定に応じて Google Drive への同期も自動実行されます。

Google Drive 同期では、ローカルファイルとDrive側ファイルを ファイル名 + サイズ で比較し、必要な UPLOAD / UPDATE / DELETE / SKIP を判定します。Drive側の同名ファイル重複検出、OAuth token の再取得、target単位リトライ、dry-run確認、調査用TSVレポート出力に対応しており、安全に同期状態を確認しながら運用できます。

v4では、cronログの日付別出力、古いsyncレポートの自動整理、convert後sync失敗時の検知、--config-dir の引き継ぎにも対応し、長期運用時のログ肥大化や一時ファイル増加にも配慮した構成になっています。

Version 3.0.0

STABLE

運用事故を防ぐ設計へ全面刷新。 透かし処理・バックアップ管理・入力検出を再設計したメジャーアップデート。

🔁 画像生成フローの再設計(透かし処理の明確化)
 透かし付きメイン画像は「事前リサイズ → 透かしサイズ計算 → 透かし合成 →(任意)文字入れ」
という明確な工程に分離
 透かしサイズは「透かし合成対象画像(透かし前)」の寸法を基準に計算
 解像度差・縦横比差による透かし崩れを防止

🧩 派生画像の責務分離
 resize1 / resize2 / cover は 完全に透かし無し
 すべて 正規化済みの共通元画像から生成
 用途別(SNS / サムネ / OGP)画像の再現性を向上

🧹 backup ディレクトリの無限肥大対策(推奨構成①②④)
 以下を組み合わせた 多層防御 を実装:
 保持日数制御
 指定日数を超えたバックアップを自動削除
 容量上限制御
 合計容量が上限を超えた場合、古いファイルから削除
 日付ディレクトリ分割
 backup/YYYY-MM-DD/ 形式で整理し、管理性と削除効率を向上
 → cron 常駐でもディスク枯渇を防止

📥 入力ファイル検出の堅牢化
 jpg / jpeg / png を コード側で最低限保証
 大文字小文字を無視して常に検出
 設定ファイルは**「追加拡張子を指定するためのプラスアルファ」**という役割に明確化
 設定ミスによる「何も処理されない事故」を防止

🛡️ 運用安全性の強化
 set -e 環境でも落ちない安全なカウンタ処理
 find -print0 採用による安全なファイル列挙
 壊れた画像・不正入力は即時隔離(failed + 理由ログ)
 二重起動防止(ロック)と DRY-RUN モードの併用可能

📜 設計思想の明文化
 conf ファイルに「コードが保証する範囲」
 「設定が担う役割」をコメントとして明記
 将来の運用者・引き継ぎ時にも意図が伝わる構成に

🧭 位置づけ
 この v3.0.0 以降、imagejob-convert.sh は
 「個人用スクリプト」ではなく「止めずに回し続ける業務用変換ジョブ」としての設計を正式に確立。