new FileSynchronizer(localPath, remotePath, db)
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 "FileSynchronizer allowed paths" 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. |
db |
module:@nginstack/engine/lib/database/Database~Database | module:@nginstack/engine/lib/connection/Connection~Connection | Conexão remota utilizada na sincronização. É necessário que a conexão já esteja autenticada com um usuário com permissão ao escopo de autorização "api.fileSynchronizer". |
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 "FileSynchronizer allowed paths" do computador remoto através do Manage, seção Configuration.General.Example
const Database = require('@nginstack/engine/lib/database/Database.js'); const 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" const db = new Database(host, database.dbName); db.loginBySession(session); const fileSync = new FileSynchronizer("shared\\sourceFilesCopy", "shared\\sourceFiles", db); 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 "FileSynchronizer allowed paths" do computador remoto através do Manage, seção Configuration.General.Example
const Database = require('@nginstack/engine/lib/database/Database.js'); const FileSynchronizer = require('@nginstack/engine/lib/filesync/FileSynchronizer'); // Envia todos os subdiretórios e arquivos da pasta "teste" para o servidor const db = new Database(host, database.dbName); db.loginBySession(session); const fileSync = new FileSynchronizer("shared\\teste", "shared\\teste", db); fileSync.syncRemote();