LightFileの実行に伴い作成されるディレクトリ
LightFileを実行すると、その環境に次のディレクトリが自動で作成されます。コマンドラインオプションでこれらのパスを変更することができます。
-
ログディレクトリ
実行ログをファイルとして保存します。 -
バックアップディレクトリ
ファイルサイズ削減前のファイルを保存します。 -
キャッシュディレクトリ
削減を実行した結果を記録します(同一ファイルへの再処理を防ぎます)。
これらのディレクトリパスを変更するには、--logs-dir
、--backup-dir
、--cache-dir
オプションにパスを指定します。
例えばログディレクトリを/var/log/lightfile
、バックアップディレクトリを/media/hdd
、キャッシュディレクトリを/var/lib/lightfile
に変更する場合、次のようにLightFileコマンドを実行します。
$ lightfile --logs-dir /var/log/lightfile \
--backup-dir /media/hdd \
--cache-dir /var/lib/lightfile \
--serial <シリアルコード> --dir <対象ディレクトリ>
ディレクトリを指定しなかった場合の挙動
上記のディレクトリをコマンドラインオプションで指定しなかった場合、LightFileコマンドを実行したユーザーのユーザーディレクトリに次のルールでディレクトリが作成されます。
LightFileを実行したユーザーのユーザーディレクトリを$HOME
とします。
-
ログディレクトリ
$HOME/lightfile/(接続先やディレクトリに基づく名称)/logs
-
バックアップディレクトリ
$HOME/lightfile/(接続先やディレクトリに基づく名称)/backup
-
キャッシュディレクトリ
$HOME/lightfile/(接続先やディレクトリに基づく名称)/cache
接続先ディレクトリに基づく名称
は、ファイルシステムのURL表記をURLエンコードしたものです。
-
ローカルディレクトリ(/path/to/dir)に実行した場合
file%3A%2F%2Fpath%2Fto%2dir
-
FTPディレクトリに実行した場合
ftp%3A%2F%2Ftheuser%40host%2Fpath%2Fto%2Fdir
プロジェクトディレクトリによる指定
コマンドラインオプション--project-dir
を用いると、ログディレクトリ、バックアップディレクトリ、キャッシュディレクトリの場所をまとめて指定することができます。
例えば次のようにLightFileコマンドを実行すると、
$ lightfile --project-dir /path/to/project --serial <シリアルコード> --dir <対象ディレクトリ>
各ディレクトリのパスは次のように決定されます。
-
ログディレクトリ
/path/to/project/logs
-
バックアップディレクトリ
/path/to/project/backup
-
キャッシュディレクトリ
/path/to/project/cache
--project-dir
オプションと--logs-dir
など個別のディレクトリパス指定のオプションを同時に指定することもできます。
同時に指定した場合は、個別のディレクトリパス指定が優先されて使用されます。
複数のディレクトリや接続先で実行する場合の注意
同一のサーバー上で、複数のディレクトリやディレクトリに対しLightFileを実行する場合、次の点に注意してください。
バックアップやキャッシュは、指定したディレクトリからの相対パスをキーとして作成されます。そのため同一のバックアップディレクトリやキャッシュディレクトリを指定すると、衝突が発生します。
例えば、/path/a と /path/b に対して、同一のバックアップディレクトリを指定して別々にLightFileを実行したとします。
$ lightfile --backup-dir /path/to/backup --serial <シリアルコード> --dir /path/a
$ lightfile --backup-dir /path/to/backup --serial <シリアルコード> --dir /path/b
もし、/path/a/photo.jpg
と/path/b/photo.jpg
が存在すると、どちらも/path/to/backup/photo.jpg
としてバックアップが作成されるので、どちらかのファイルが上書きされて消失します。
このような衝突を避けるため、デフォルトのプロジェクトディレクトリは$HOME/lightfile/(接続先やディレクトリに基づく名称)
と接続先によりユニークなディレクトリとなっています。