Class: FileSynchronizer

@nginstack/engine/lib/filesync/FileSynchronizer~ FileSynchronizer


new FileSynchronizer(localPath, remotePath, connection)

Classe que possibilita a sincronização de arquivos ou diretórios com um computador remoto.

Atenção: os Engines do computador local e remoto devem estar configurados para permitir a leitura e gravação de arquivos. Esta configuração é realizada através do parâmetro "Allowed Backup Target Path" existente no Manage dentro da seção Configuration.General. Os parâmetros localPath e remotePath deverão ser um sub-path da configuração informada.

A exceção desta regra é o diretório "shared" dentro da pasta de instalação do sistema. A gravação e leitura de arquivos e diretórios filhos de "shared" sempre serão permitidas.

Parameters:
Name Type Description
localPath string

Nome de um arquivo ou diretório local. Paths não absolutos serão relativos ao diretório de instalação do sistema.

remotePath string

Nome de um arquivo ou diretório no terminal remoto. Paths não absolutos serão relativos ao diretório de instalação do sistema.

connection Connection

Conexão com o terminal remoto.

Members


deletedFileCount :number

Quantidade de arquivos excluídos em todas as sincronizações realizadas desde a construção deste objeto.

Type:
  • number

excludeFilters :string

Indica que não deverá ser realizada a sincronização de arquivos cujos nomes satisfaçam os filtros informados. As expressões de filtros devem ser separadas por ";". Exemplo: ".doc;.txt;??a.log".

Type:
  • string

includeFilters :string

Restringe a sincronização aos arquivos cujos nomes satisfaçam os filtros informados. As expressões de filtros devem ser separadas por ";". Exemplo: ".doc;.txt;??a.log".

Type:
  • string

preserveDeletedFiles :boolean

Determina se os arquivos e diretórios existentes no destino da sincronização que não existem na origem devem ser preservados. Caso esta propriedade seja false (valor padrão), os mesmos serão excluídos.

Type:
  • boolean

receivedFileCount :number

Quantidade de arquivos atualizados no terminal local em todas as sincronizações realizadas desde a construção deste objeto.

Type:
  • number

sentFileCount :number

Quantidade de arquivos atualizados no terminal remoto em todas as sincronizações realizadas desde a construção deste objeto.

Type:
  • number

Methods


syncLocal()

Sincroniza o diretório local informado em localPath com o diretório ou arquivo informado em remotePath.
A execução deste método poderá retornar o erro "O iEngine remoto não permite a leitura de arquivos no path informado.". Caso ocorra, altere o path remoto para um subdiretório ou arquivo filho do diretório "shared" ou altere a opção "Allowed Backup Target Path" do computador remoto através do Manage, seção Configuration.General.

Example
var Connection = require('@nginstack/engine/lib/connection/Connection');
var FileSynchronizer = require('@nginstack/engine/lib/filesync/FileSynchronizer');
// Obtém os subdiretórios e arquivos da pasta "sourceFiles" do computador "host" e
// grava na pasta "sourceFilesCopy"
var conn = new Connection( host, connection.dbName )
var fileSync = new FileSynchronizer( "shared\\sourceFilesCopy", "shared\\sourceFiles", conn )
fileSync.syncLocal()

syncRemote()

Sincroniza o diretório remoto informado em remotePath com o diretório ou arquivo informado em localPath.
A execução deste método poderá retornar o erro "O iEngine remoto não permite a gravação de arquivos no path informado". Caso ocorra, altere o path remoto para um subdiretório filho do diretório "shared" ou altere a opção "Allowed Backup Target Path" do computador remoto através do Manage, seção Configuration.General.

Example
var connection = require('@nginstack/engine/context/connection');
var FileSynchronizer = require('@nginstack/engine/lib/filesync/FileSynchronizer');
// Envia todos os subdiretórios e arquivos da pasta "teste" para o servidor
var fileSync = new FileSynchronizer( "shared\\teste", "shared\\teste", connection )
fileSync.syncRemote()