Утилита ecss-copycdr
В определенных ситуациях будет удобен метод, когда FTP-сервер развернут в системе ACP, хост с ECSS-10 передает CDR на сервер FTP-системы ACP.
В данном варианте хост ECSS-10 выступает в роли FTP-клиента, который передает файлы на удаленный FTP-сервер, при необходимости удаляет успешно переданные файлы.
Для работы в таком режиме на сервере необходимо настроить конфигурационный сервис ecss-copycdr.
При необходимости можно включить автоматическую выгрузку cdr в определенное время, для это нужно настроить утилиту ecss-copycdr.timer.
Настройка сервиса ecss-copycdr
Ecss-copycdr - утилита для переноса файлов между FTP-серверами.
Используется для копирования CDR-записей с исходного сервера на сторонний.
При первичной установке ecss-node у пользователя спросит хочет ли он установить сервис ecss-copycdr.
После согласия установки появится очередное окно с предложением ввести IP адрес сервера FTP, с которого будут собираться cdr.
После предложат ввести протокол передачи: FTP или SFTP.
Далее нужно ввести порт FTP-сервера.
Введите директорию на FTP-сервере, из которой будут передаваться cdr записи.
Введите логин для входа на FTP-сервер.
Введите пароль для входа на FTP-сервер.
Введите IP адрес FTP-сервера, на который нужно передавать cdr записи.
После чего предложат ввести протокол передачи: FTP или SFTP.
Введите порт для приема cdr записей.
Введите директорию, в которой будут храниться все переданные cdr записи.
Введите логин для входа на FTP-сервер приема cdr записей.
Введите пароль для входа на FTP-сервер приема cdr записей.
В случае если шаг с настройкой ecss-copycdr при установке ecss-node был пропущен, сервис всегда можно настроить через конфигурационный файл ecss-copycdr.conf, который располагается по пути /etc/ecss/.
Для работы необходимо указать адрес исходного FTP-сервера и каталог, с которого будет производиться копирование файлов, и адрес стороннего FTP-сервера и каталог, в который будут скопированы файлы.
Также для каждого сервера можно указать номер порта и тип используемого протокола: FTP/SFTP.
Эти данные необходимо указывать либо при каждом запуске утилиты, либо в файле конфигурации /etc/ecss/ecss-copycdr, в котором:
- SLOGIN - логин для авторизации на исходном сервере;
- SPASS - пароль для авторизации на исходном сервере;
- SPTYPE - тип используемого протокола (FTP/SFTP) на исходном сервере;
- SHOST - адрес исходного сервера;
- SPORT - порт на исходном сервере;
- SDIR - каталог на исходном сервере;
- DLOGIN - логин для авторизации на конечном сервере;
- DPASS - пароль для авторизации на конечном сервере;
- DPTYPE - тип используемого протокола (FTP/SFTP) на конечном сервере;
- DHOST - адрес конечного сервера;
- DPORT - порт на конечном сервере;
- DDIR - каталог на конечном сервере;
- OPTION - опции работы утилиты.
Имеется возможность удаления скопированных файлов с исходного сервера (по умолчанию скопированные файлы не удаляются, а к именам файлов добавляется метка "_transfered". Файлы с такой меткой в имени игнорируются при следующих копированиях). Опция -r, --remove указывает необходимость удаления данных.
Имеется возможность копирования пустых файлов, которые по умолчанию игнорируются (пустым файлом считается файл, в котором имеется только одна строка - заголовок csv-таблицы). Опция -e, --empty указывает необходимость переноса пустых файлов.
Опции можно также указывать либо при запуске, либо в файле конфигурации.
Запуск утилиты может осуществляться из консоли:
ecss-copycdr [ОПЦИИ] <src_host> <src_dir> <dest_host> <dest_dir>
,
где
src_host - адрес FTP-сервера для получения файлов,
src_dir - каталог, из которого происходит загрузка,
dest_host - адрес FTP-сервера для отправки файлов,
dest_dir - каталог, в который надо записать файлы.
Для авторизации на сервере адреса должны быть указаны c логином и паролем в следующем формате: ftp://Login:Password@Host:Port.
Если работа должна осуществляться по другому протоколу, то указать его: sftp://Login:Password@Host:Port.
Опция -r, --remove указывает необходимость удаления данных из источника.
Опция -e, --empty указывает необходимость переноса пустых файлов.
Если заполнен файл конфигурации, то запуск может производиться без указания параметров:
ecss-copycdr [ОПЦИИ]
Запуск может осуществляться через systemd.
/lib/systemd/system/ecss-copycdr.service /lib/systemd/system/ecss-copycdr.timer
При работе используются данные из файла конфигурации /etc/ecss/ecss-copycdr.
Настройка утилиты ecss-copycdr.timer
Для настройки времени запуска ecss-copycdr необходимо изменить в файле /lib/systemd/system/ecss-copycdr.timer строку с таймером: OnCalendar=*-*-*
Формат таймера: День Недели Год-Месяц-День Часы:Минуты:Секунды
Чтобы указать все значения используется звездочка, для перечисления значения используется запятая, для промежутка используется две точки(..).
Пример запуска каждый день в 00:00:
OnCalendar=*-*-*
Пример запуска каждый день в 12:30:
OnCalendar=*-*-* 12:30
Пример запуска первые 3 дня месяца в 00:00:
OnCalendar=*-*-1..3
Пример запуска каждый понедельник и субботу в 12:00:
OnCalendar=Mon,Sat *-*-* 12:00