リビジョンを削除しても残ってしまったファイルを削除するにはどうしたらいいですか?
特定のバージョンの PowerCMS について、リビジョンの削除時に不要となったファイルが削除されない不具合があり、その不具合によって残ってしまったファイルを削除するスクリプトを配布しております。
問題が発生するバージョン
下記のバージョンの PowerCMS ではリビジョンを削除しても不要になったファイルが削除されない不具合がありました。
- PowerCMS 4.40 以上 4.52 以下
- PowerCMS 5.10 以上 5.22 以下
- PowerCMS 6.0 以上 6.1 以下
この問題は PowerCMS 6.2 / 5.23 / 4.53 で修正されました。
残ってしまったファイルを走査・削除する remove-unused-powerrevision-asset スクリプト
- ダウンロード:
- remove-unused-powerrevision-asset20250404.zip
- ※警告の対応のため、2025年4月4日ファイルを更新しています。
上記のリンクから ZIP アーカイブをダウンロードし、その中のスクリプトをサーバー上の PowerCMS の tools ディレクトリへ設置してください。
$MT_HOME/tools/remove-unused-powerrevision-asset
※MT_HOME は PowerCMS のインストール先を指します。ご利用のサーバーにあわせて読み替えてください
残ってしまったファイルを探す
スクリプトを引数なしで実行するとファイルを残ってしまったファイルを探すことができます。
$ cd $MT_HOME $ sudo -u apache perl tools/remove-unused-powerrevision-asset
※ スクリプトはウェブサーバーの実行ユーザーで実行してください。上記はウェブサーバーの実行ユーザーが apache の場合の実行例です
実行すると下記のような内容がコンソールへ出力され、「Remove files」の下が削除されずに残ってしまったファイルです。
---------------------------------------------
Gathering assets: /path/to/cgi-bin/mt/powercms_files/backup/assets
Asset: /path/to/cgi-bin/mt/powercms_files/backup/assets/7/items/102.jpg
---------------------------------------------
Gathering revision XML: /path/to/cgi-bin/mt/powercms_files/backup
Revision: /path/to/cgi-bin/mt/powercms_files/backup/2.xml
%b/assets/2/items/146.jpg
%b/assets/2/items/147.jpg
---------------------------------------------
Assets
*/path/to/cgi-bin/mt/powercms_files/backup/assets/7/items/102.jpg
/path/to/cgi-bin/mt/powercms_files/backup/assets/1/items/146.jpg
Asset XML: /path/to/cgi-bin/mt/powercms_files/backup/assets/3/146.xml
Revision XML: /path/to/cgi-bin/mt/powercms_files/backup/assets/3/146.xml
---------------------------------------------
Remove files (total size 231.5 KB):
/path/to/cgi-bin/mt/powercms_files/backup/assets/7/items/102.jpg
残ってしまったファイルを削除する
スクリプトへ引数 --delete を指定して実行すると見つけたファイルを残ってしまったファイルを削除します。
$ cd $MT_HOME $ sudo -u apache perl tools/remove-unused-powerrevision-asset --delete


