クイックスタート
LightFile Batchの基本的な使い方と実用例
LightFile Batchの基本的な使い方を実例を交えて説明します。
サブコマンド方式の基本
LightFile Batchは、ファイルシステムごとに最適化されたサブコマンドを提供します。
lightfile-batch <サブコマンド> [オプション]利用可能なサブコマンド:
- local - ローカルファイルシステム(デフォルト)
- s3 - Amazon S3 / S3互換ストレージ
- ftp - FTP / FTPSサーバー
- sftp - SFTPサーバー
- webdav - WebDAVサーバー
- test-notify - 通知設定のテスト
サブコマンドを省略すると、local として動作します:
# 以下は同じ動作
lightfile-batch local /path/to/images
lightfile-batch /path/to/imagesライセンストークンの設定
LightFile Batchを使用するには、有効なライセンストークンが必要です。
設定方法(優先順位順):
-
コマンドラインオプション - 一時的な使用に便利:
lightfile-batch local /path/to/images --license-token "your-token-here" -
環境変数 - CI/CD環境に最適:
export LF_TOKEN="your-token-here" lightfile-batch local /path/to/images -
ファイルに保存 - 推奨:
# トークンをファイルに保存(初回のみ) mkdir -p ~/.lightfile-next echo "your-token-here" > ~/.lightfile-next/token # 以降は自動的に読み込まれる lightfile-batch local /path/to/images
詳細は ライセンスのセットアップ を参照してください。
ローカルファイルシステムの処理
基本的な実行
最もシンプルな使い方です。指定したディレクトリ以下のすべての画像ファイルを最適化します:
# ディレクトリを指定
lightfile-batch local /path/to/images
# または(サブコマンド省略)
lightfile-batch /path/to/imagesデフォルト動作:
- 処理対象 -
.jpg,.jpeg,.jfif,.png - 品質 - medium(バランス型)
- 並列処理 - 1(順次処理)
- バックアップ - strict(必須)
2回目以降の実行
2回目以降の実行も同じコマンドで問題ありません。
LightFile Batchは、処理済みファイルの情報(更新日時、ファイルサイズ)を簡易データベースに記録しており、無駄な処理が発生しないように設計されています。
# 初回実行: すべてのファイルを処理
lightfile-batch /path/to/images
# 2回目以降: 変更されたファイルのみ処理(高速)
# コマンドは同じでOK
lightfile-batch /path/to/imagesLightFile Batchが保証すること:
- 同じコマンドを繰り返し実行できる - オプションを変える必要がない
- 変更されたファイルのみを自動検出 - 更新日時やサイズが変わったファイルだけ処理
- 処理済みファイルはスキップ - 無駄な処理を避けて高速化
- 定期実行に最適 - cron、タスクスケジューラなどで自動化できる
ドライラン(プレビュー)
実際の動作確認をファイルを変更せずに行えます:
# ドライラン(プレビュー)
lightfile-batch local /path/to/images --dry-run
# 詳細ログも表示
lightfile-batch local /path/to/images --dry-run --verboseドライラン(プレビュー)の動作:
- ファイルの最適化は実行 - 実際の処理と同じ最適化を行う
- 上書き保存はしない - 最適化結果をファイルに書き込まない
- バックアップも作成しない - バックアップファイルを作成しない
- 実際の動作に近い条件で動作確認ができる
- 設定の確認や、処理対象ファイルの確認に便利
品質設定
画質とファイルサイズのバランスを3段階で調整できます。
# 低品質(最大圧縮、ファイルサイズ優先)
lightfile-batch /path/to/images --quality low
# 中品質(バランス型、デフォルト)
lightfile-batch /path/to/images --quality medium
# 高品質(画質優先)
lightfile-batch /path/to/images --quality high品質レベルの目安:
| 品質 | 画質 | ファイルサイズ削減 |
|---|---|---|
low | 標準 | 大きい(最大圧縮) |
medium | 良好 | バランス型 |
high | 高画質 | 控えめ |
一部のディレクトリだけを試験的に最適化
全体を処理する前に特定のディレクトリだけ最適化を試験することができます。その時には、パターンによる絞り込みをオプションで指定してください。
パターンで絞り込み(glob形式)
# 特定のディレクトリのみ対象
lightfile-batch /path/to/images --include "uploads/**/*.jpg"
# 複数のパターンを組み合わせ
lightfile-batch /path/to/images \
--include "uploads/**/*.jpg" \
--include "photos/**/*.png"glob パターンの例:
**/*.jpg- すべてのサブディレクトリのJPEGファイル2024/**/*- 2024ディレクトリ以下のすべてのファイル**/thumb_*- thumb_で始まるファイル*.{jpg,png}- JPEGまたはPNGファイル
cronへの登録例
Webサイトの画像を定期的に最適化する場合の例です。
# cronで毎日午前3時に実行
0 3 * * * /usr/local/bin/lightfile-batch /var/www/html/images --quality medium --log-level warn