3.14.3 Настройка таймеров очистки временного каталога приема факсов
Для промежуточного сохранения файлов факсов при работе услуги "Fax to Email" используется директория /var/spool/ecss/ecss-media-server/. В штатном режиме после приема и сохранения на http-сервере файл из данного каталога удаляется. Если по каким-либо причинам сохранение на http-сервер не удалось(например, обрыв вызова во время приема файла), то файл остается во временном каталоге. По умолчанию время хранения - 180 дней или при превышении размера каталога сверх значения, указанного в конфигурационном файле медиа-сервера.
Механизм автоматической очистки реализован реализован на базе системного сервиса incrond. Все файлы, попадающие в /var/spool/ecss/ecss-media-server будут удаляться по истечении времени, установленного в ecss-media-server.conf.
Пример установленного значения:
sasha@ecss1:~$ cat /usr/lib/tmpfiles.d/ecss-media-server.conf #Type Path Mode UID GID Age Argument d /var/spool/ecss/ecss-media-server 0755 ssw ssw 180d -
После изменения времени хранения необходимо перечитать настройки systemd:
sudo systemctl daemon-reload
Настройка периодичности мониторинга находится в файле systemd-tmpfiles-clean.timer. Для изменения периода мониторинга нужно воспользоваться командой:
sudo systemctl edit systemd-tmpfiles-clean.timer
Прописать секцию новых настроек таймеров, например:
[Timer] OnBootSec=5min OnUnitActiveSec=1h
где
- OnBootSec=5min - проверка файлов через 5 минут после старта сервиса
- OnUnitActiveSec=1h - далее проверять каждый час.
Просмотр получившихся настроек:
sasha@ecss1:/var/spool/ecss/ecss-media-server$ sudo systemctl cat systemd-tmpfiles-clean.timer # /lib/systemd/system/systemd-tmpfiles-clean.timer # SPDX-License-Identifier: LGPL-2.1+ # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. [Unit] Description=Daily Cleanup of Temporary Directories Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) [Timer] OnBootSec=15min OnUnitActiveSec=1d # /etc/systemd/system/systemd-tmpfiles-clean.timer.d/override.conf [Timer] OnBootSec=5min OnUnitActiveSec=ih
Журнал работы сервиса можно также просмотреть системными инструментами, например:
sasha@ecss1:/var/spool/ecss$ journalctl -u systemd-tmpfiles-clean -n 4 -x -- Logs begin at Thu 2019-04-25 09:07:49 +07, end at Mon 2019-06-24 17:32:38 +07. -- июн 24 16:22:02 ecss1 systemd[1]: Starting Cleanup of Temporary Directories... -- Subject: Начинается запуск юнита systemd-tmpfiles-clean.service -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Начат процесс запуска юнита systemd-tmpfiles-clean.service. июн 24 16:22:02 ecss1 systemd[1]: Started Cleanup of Temporary Directories. -- Subject: Запуск юнита systemd-tmpfiles-clean.service завершен -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Процесс запуска юнита systemd-tmpfiles-clean.service был завершен. -- -- Результат: RESULT. июн 24 17:22:03 ecss1 systemd[1]: Starting Cleanup of Temporary Directories... -- Subject: Начинается запуск юнита systemd-tmpfiles-clean.service -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Начат процесс запуска юнита systemd-tmpfiles-clean.service. июн 24 17:22:03 ecss1 systemd[1]: Started Cleanup of Temporary Directories. -- Subject: Запуск юнита systemd-tmpfiles-clean.service завершен -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Процесс запуска юнита systemd-tmpfiles-clean.service был завершен. -- -- Результат: RESULT.
Таймеры контроля размера каталога /var/spool/ecss/ecss-media-server задаются сервисом ecss-media-server-cleaner, который запускает скрипт
/usr/lib/ecss/ecss-media-server/cleaner
Если размер превышает установленный в /etc/ecss/ecss-media-server/config.xml, параметр
spool-dir-size="100M"
Происходит удаление старых файлов до достижения разрешенного размера каталога.