В определенных ситуациях будет удобен метод, когда 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