Со временем в процессе использования DION растёт объем файлового хранилища, необходимый для хранения файлов, загруженных пользователями в систему:
Видеофайлы занимают большую часть доступного места для хранения. Утилита, описанная в этой статье, позволяет в целях экономии пространства на диске по расписанию удалять из хранилища видеофайлы, созданные ранее указанной даты. Пользователям при этом будет отправлено уведомление о предстоящем удалении, чтобы они могли заблаговременно сохранить нужный файл к себе на устройство.
| Для удаления файлов воспользуйтесь инструкцией Плановая очистка данных из файлового хранилища DION (FILES). |
Очистка записей конференций и загруженных вручную видеофайлов:
Исключения:
Скачать скрипт можно здесь: minio_clean.sh
1. Поместите скрипт minio_clean.sh в рабочий каталог системы ~/on_dion/scripts/ на сервере setupVM.
2. Добавьте права на выполнение:
cd ~/on_dion/scripts/
chmod +x minio_clean.sh
Необходимые утилиты для работы скрипта запакованы в образ.
3. Скачайте архив Docker-образа, используя полученную у команды Dion учётную запись.
Для этого можно использовать утилиту wget:
wget --user=имя_пользователя --password=пароль https://registry.onprem.dion.vc/repository/releases/delivery/minio_postgres_mutt.tar
4. Загрузите Docker-образ из файла и добавьте необходимый tag:
docker load -i minio_postgres_mutt.tar
docker tag registry.onprem.dion.vc/delivery/minio/minio_postgres_mutt:v1.0 custom_minio_postgres_mutt:latest
Для рассылки почтовых уведомлений используется клиент mutt.
1. Создайте конфигурационный файл ~/.muttrc:
vim ~/.muttrc
Заполните в нём параметры почтового сервера:
|
# пример для 25го порта set from = "dion@<YourDomain>.ru" set realname = "dion_robot" set smtp_url = "smtp://192.168.20.13:25/" set smtp_pass = "" set ssl_force_tls = no set ssl_starttls = no # Учетная запись set imap_user = "dion@<YourDomain>.ru" set imap_pass = "" # Файл для отправленных писем set record = "~/Maildir/.Sent" set fcc_clear |
# пример для 587 порта set smtp_url = "smtp://LOGIN@mail.<YourDomain>.ru:587" set smtp_pass = "PASSWORD" set from = "dion_robot@<YourDomain>.ru" set realname = "LOGIN" set ssl_starttls = no set ssl_verify_dates = no set ssl_verify_host = no set ssl_force_tls = no set smtp_authenticators="login" # Файл для отправленных писем set record = "~/Maildir/.Sent" set fcc_clear |
Для проверки отправки почтовых уведомлений используйте команду, изменив email-адрес получателя:
docker run --rm -it -v ~/.muttrc:/root/.muttrc -v ~/Maildir:/root/Maildir custom_minio_postgres_mutt bash -c "echo Тестовое_сообщение | mutt -d 11 -s checkEMAIL -- dion@<YourDomain>"
Для запуска почтовых уведомлений используйте команду:
./minio_clean.sh mail 53 7
где:
По всем видео старше $2 будет отправлена рассылка владельцам о том, что видео будет удалено через интервал времени $3. Скрипт не рассылает повторные сообщения, отмечая рассылку в описании видео.
Для запуска архивирования видеозаписей используйте команду:
./minio_clean.sh archive 60
где:
Данная команда запускает процесс архивирования видеозаписей конференций и видеофайлов старше 60 дней.
| Архивирование файлов можно применять для возможности восстановить файлы, которые официально уже удалены и исчезли из интерфейса пользователя. |
|
Для запуска удаления видеозаписей используйте команду:
./minio_clean.sh delete 67
где:
Данная команда запускает процесс удаления записей конференций и видеофайлов старше 67 дней.
|
1. Откройте редактор cron:
crontab -e
2. Добавьте параметры расписания запуска почтовых уведомлений и удалений.
0 2 * * * /home/dion/on_dion/scripts/minio_clean.sh mail 53 7
0 3 * * * /home/dion/on_dion/scripts/minio_clean.sh archive 60
0 4 * * * /home/dion/on_dion/scripts/minio_clean.sh delete 67
В данном примере: