Iniciar uma conversa

Como faço um backup individual dos dados Anti-Spam e GroupWare de cada usuário?

Este script, criado por um dos moderadores do fórum internacional da IceWarp, Bulldust , realiza um backup por usuário do GroupWare (contatos, eventos, tarefas, etc) e do Anti-Spam (lista negra e branca, etc). É extremamente útil, pois caso um usuário tenha apagado seus contatos, você não precisa restaurar o banco todo do GroupWare, até porque alguns usuários podem ter acrescentado novos objetos.

Já com relação ao Anti-Spam, é realizado backup da tabela Senders, que contém lista negra e branca dos usuários e quarentena. Não é realizado backup da tabela IPs, que traz dados de greylisting, não tão importante, por serem dados dinâmicos que podem ser apagados sem maiores transtornso. A restauração de backup do anti-spam de cada usuário deve ser feita via queries, conforme visto adiante, após as etapas de implementação do script.

Clique aqui para obter o script ou obtenha no fórum da IceWarp.

Com relação à implementação do script, favor seguir as seguintes etapas:

1) Aloque o script abaixo do servidor web IceWarp, por exemplo, na pasta icewarp/html/scripts/.

Crie um host em seu DNS (ou ao menos crie-o no arquivo windows\system32\drivers\etc\hosts do servidor IceWarp que executará o script), como por exemplo, script.icewarp.com.br e aponte para o IP do seu IceWarp Server.

Crie um site, através do Console IceWarp, no nó "Web". Clique, portanto, em Adicionar, informe o host do novo site (no caso, script.icewarp.com.br) e escolha o radio button para "usar configurações customizadas". Clique em OK para salvar o registro.

Agora clique no botão Editar arquivo, para editarmos o arquivo do servidor web webserver.dat. O objetivo todo de criar um host específico é para aumentarmos o timeout do PHP, cujo default no IceWarp é de 2 minutos e meio, normalmente insuficiente para este script, que realiza backup do GroupWare e Anti-Spam de cada conta, finalize com sucesso.

Dê um find no arquivo webserver.dat pelo host criado, no caso, "script.icewarp.com.br" (sem aspas). Acharemos o seguinte:

<NAME>scripts.icewarp.com.br</NAME>

Logo abaixo dessa linha, localize o seguinte:

<ITEM>
   <TITLE/>
   <EXT>.html</EXT>
   <MODULE>(fastcgi);php\php.exe</MODULE>
</ITEM>

Altere apenas essa linha:

   <MODULE>(fastcgi);php\php.exe</MODULE>
   
que deve ficar da seguinte forma:

   <MODULE>(fastcgi);php\php.exe;1800000</MODULE>         

Ou seja, para executar nosso script, o timeout será de 180000 milisegundos, ou seja, 3 minutos. Ao executar o script em seu browser (chamado http://script.icewarp.com.br, no caso do exemplo), caso ocorra Erro interno, provavelmente deve ser devido a timeout (veja log do serviço Controle em modo debug e confirme o fato), bastando então aumentar esse timeout.

Agora, crie uma regra no site definido, conforme a tela abaixo, para permitir que o script seja executado apenas dentro do seu servidor e não de fora.



2) Na linha 81, localize "DETAILS TO CHANGE IF REQUIRED" e altere as variáveis $saveto e $html_log, especificando o caminho onde deseja armazenar os backups do GroupWare e logs, que são salvos em uma estrutura hierárquica, similar à pasta mail, com pastas para todos os domínios e sub-pastas das contas.

3) Na linha 166, localize "DATABASE DETAILS.CHANGE AS REQUIRED" e informe os dados do seu banco de dados do Anti-Spam (username, senha, host e schema/nome do banco de dados).

Na linha 186, localize "FILE LOCATION DETAILS TO CHANGE IF REQUIRED" e altere o caminho onde serão salvos os backups do Anti-Spam (variáveis $saveto e $html_log).

3) Agende para executar o script, através do Console IceWarp, em Sistema / Ferramentas / Tarefas & Eventos.

Basta adicionar uma nova entrada, conforme a tela abaixo.



OBS: Caso seu servidor não execute o script com IP externo, apenas com IP NAT, mapeie no seu arquivo windows/system32/drivers/etc/host para seu host (no caso script.icewarp.com.br) apontar para o IP 127.0.0.1.

Como restaurar dados de GroupWare de um usuário?

Antes de mais nada, tenha certeza que possui backup do banco de dados do GroupWare e, em seguida:

1) Excluda dados do usuário do qual irá restaurar dados, em GroupWare/Geral/botão Excluir Dados.

2) Resature usando o botão Restaurar Dados, no mesmo local, no console.

Vale ressaltar que o console possui outra opção, Restauração do BD, que restaura dados de usuários de outros bancos de dados, diferentes do atualmente definido para seu GroupWare.

Como restaurar dados de anti-spam de um usuário?

Antes de mais nada, tenha certeza que possui backup do banco de dados Anti-Spam e, em seguida:

No caso do banco de dados do Anti-Spam:

1) Apague todos dados de Anti-Spam do usuário do qual deseja restaurar o backup. O comando, a ser executado no banco de dados (Sistemas/Ferramentas/Gerenciador SQL ou com ferramentas de terceiros) é:

DELETE FROM senders WHERE SndOwner ='user@domain.com'

Trocando user@domain.com pelo e-mail do usuário.

2) Restaure dados a partir do backup em formato CSV, usando a seguinte query:

LOAD DATA INFILE 'File location/file.csv' INTO TABLE senders FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'

Onde file location/file.csv é o caminho e nome do arquivo a restaurar.

* Agradecimento especial ao Bulldust, usuário/moderador do fórum internacional da IceWarp.

*** UPDATE

Just a few notes.

1) If you have remote mysql database and have permission issues, one solution we found is to save the CSVs inside mysql's data/database/script/ folder, where database folder in example below is "antispam".

/**********************************FILE LOCATION DETAILS TO CHANGE IF REQUIRED****************************************** ********/
$saveto = "./antispam/script/"; //Save location of individual antispambackup files
$dom_csvfile = $saveto."Domain_".$domain."_".$stamp.".csv"; //domain csv file generated
$logfile = $saveto . "antispambackup_".$domain."_".$date.".html"; //Save location of individual antispambackup log
$html_log = "./antispam/script/antispambackuplog_".$date.".htm"; //Save location of main antispambackup log
/************************************************** **************************************************

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Flávio Zarur Lucarelli

  2. Publicado
  3. Atualizado

Comentários