Операции с файловыми хранилищами
Сжатие всех файлов, ранее добавленных в файловое хранилище
Для сжатия всех файлов, ранее добавленных в файловое хранилище, в консоли интерфейса администратора выполните скрипт:
api.fileStorage.compressAll('storageCode')
где, storageCode — код файлового хранилища или null, если необходимо сжать файлы в базе данных (null указывается без кавычек).
Если с одним файловым хранилищем работает несколько приложений, то выполняйте скрипт на том, где необходимо продолжить работу с файлами из этого хранилища.
- Описание всех скриптовых методов для операций с файловыми хранилищами, см. api.fileStorage Работа с файловыми хранилищами .
- Скрипты выполняются в консоли интерфейса администратора, см. Скрипты, выполняемые в консоли.
Перемещение файлов, ранее добавленных в файловое хранилище
Возможные операции:
- Перемещение всех ранее добавленных файлов из одного хранилища в другое (файлы настройки не переносятся).
- Перемещение одного файла в другое хранилище.
Для перемещения всех ранее добавленных файлов из одного хранилища в другое, в консоли интерфейса настройки выполните скрипт:
api.fileStorage.moveAll('oldStorageCode', 'newStorageCode')
где:
-
oldStorageCode — код файлового хранилища, из которого переносятся файлы, или null, если файлы переносятся из хранилища, расположенного в базе (null указывается без кавычек).
-
newStorageCode — код файлового хранилища, в которое переносятся файлы.
Перенос файлов в хранилище, расположенное в базе, недоступен.
При переносе файлов из несжатого хранилище в сжатое, все переносимые файлы сжимаются. При переносе файлов из сжатого хранилище в несжатое, все переносимые файлы распаковываются.
Особенности переноса файлов из базы данных в файловое хранилище. После переноса файлов из базы данных в файловое хранилище, база данных автоматически в размере не уменьшается (СУБД отмечает место как освобожденное, но не возвращает его операционной системе). Чтобы освободить место на диске с базой данных, выполните следующие действия:
-
Для Postgresql выполните vacuumlo из пакета postgresql-contrib, а затем vacuum full.
Внимание! Выполнение vacuum full приводит к временным блокировкам таблиц, поэтому должно проводиться в часы наименьшей нагрузки.
Описание всех скриптовых методов для операций с файловыми хранилищами, см. Методы API.
Скрипты выполняются в консоли интерфейса администратора, см. Скрипты, выполняемые в консоли.
Разделение и слияние файлов в файловых хранилищах
Разделение и слияние файлов в файловых хранилищах:
- Разделение файлов — операция по присваиванию контента и хеша каждому файлу, вместо ссылки на один и тот же хеш.
- Слияние файлов — операция по присваиванию ссылки на один и тот же хеш одинаковым файлам с последующим удалением дубликатов.
Перемещение файлового хранилища в файловой системе
Перемещение файлового хранилища в файловой системе может выполняться двумя способами.
-
Перемещение каталога хранилища и изменение конфигурации приложения:
- Остановите приложение.
- Переместите каталог файлового хранилища в нужное место.
- Измените путь до файлового хранилища в конфигурационном файле file-storage.xml.
- Запустите приложение.
Достоинства: простота, отсутствие необходимости множить файловые хранилища.
Недостатки: простой приложения.
-
Создание нового хранилища, перемещение в него файлов, отключение старого хранилище, удаление старого хранилища:
- Создайте каталог хранилища в файловой системе.
- Добавьте блок с описанием хранилища в конфигурационном файле file-storage.xml.
- Измените активное хранилище в конфигурационном файле file-storage.xml на новое. После применения настроек новые файлы будут помещаться в новое файловое хранилище.
- Примените настройки с помощью api.fileStorage.reload().
- Запустите копирование файлов из старого файлового хранилища в новое с помощью api.fileStorage.moveAll('oldStorageCode', 'newStorageCode').
- Когда перенос будет завершен и в старом файловом хранилище не останется файлов, удалите блок с описанием старого хранилища в конфигурационном файле file-storage.xml.
- Примените настройки с помощью api.fileStorage.reload().
- Удалите каталог со старым файловым хранилищем. Перед удалением рекомендуется сделать его резервную копию на случай, если не все файлы были перемещены в новое хранилище.
Достоинства: все операции производятся при запущенном приложении.
Недостатки: перемещение файлового хранилища требует больше времени.
- Описание всех скриптовых методов для операций с файловыми хранилищами, см. Методы API.
- Скрипты выполняются в консоли интерфейса администратора, см. Скрипты, выполняемые в консоли.