• Immutable Page
  • Info
  • Attachments

Cópia de Segurança Simples do MoinMoin em Windows

É importante que faça cópias de segurança do seu wiki, no caso de avaria do seu disco rígido. No entanto, uma vez que o wiki tem o seu próprio controlo de versões integrado, não é necessário preocupar-se com uma estratégia sofisticada de cópias de segurança rotativas. Apenas necessita dos ficheiros de dados. Um simples script programado do ficheiro .bat do Windows será suficiente.

Pré-requisitos & Requisitos

  1. Descarregue e instale as Ferramentas do Windows Resource Kit da Microsoft - Embora estas ferramentas se refiram ao Windows 2003, elas são compatíveis com versões anteriores. Consigo utilizar estes comandos com sucesso e frequncia no Windows 2000 Workstation.

  2. Vamos alterar a extensão de um ficheiro .txt para .bat, por isso é importante que tenha a opção "Show all file extensions" activada.

Crie um destino para cópias de segurança

Precisamos de um destino para copiar estes ficheiros. Deve ser uma directoria separada do próprio servidor, para que possa mover os dados rapidamente para um novo servidor se for necessário. Pode ser uma pasta partilhada num computador em rede, ou uma drive USB externa. No exemplo apresentado em baixo, temos a preparação de uma cópia de segurança para o caso de um volume em rede. Se estiver a utilizar uma drive externa, substitua simplesmente a letra da drive (e, salte os passos para criar uma pasta partilhada).

Crie uma pasta partilhada numa máquina ligada a uma rede (uma que não o servidor do seu wiki). Os passos exactos não são abrangidos por este documento, mas aqui ficam algumas pistas:

  1. Crie uma nova pasta com um nome apropriado como "wiki-backup". Evite utilizar espaços, uma vez que estes quebram o script.
  2. Clique com o botão direito do rato na nova pasta "wiki-backup", seleccione "partilhar" e partilhe a pasta.
  3. No Windows XP, as permissões por omissão são "apenas leitura". Remova o grupo 'Todos' ('Everyone'), e adicione um utilizador de domínio específico como o domain\administrator (utilizaremos as credenciais deste utilizador em baixo). Altere as permissões deste utilizador para 'Total' ('Full').
  4. Adicione segurança à pasta de acordo com a política da sua rede, se necessário.

Crie o script da cópia de segurança

Vamos utilizar o Robocopy das Ferramentas de Windows Resource Kit que instalou na secção dos Pré-requisitos em cima. O Robocopy é a ferramenta de linha de comandos da Microsoft que supera todas as versões de comandos copy e xcopy da linha de comandos. A palavra Robocopy é a abreviatura para Robust File Copy, e oferece mais opções de cópia, mais flexibilidade, corrige atalhos no copy/xcopy (como nomes de caminhos longos), e fornece maior robustez. Inexplicavelmente, não vem com o Windows.

  1. Utilizando o Notepad.exe ou um editor de texto similar, crie um novo ficheiro similar ao que apresentamos em baixo (terá de modificar os parâmetros para corresponder à sua configuração (consulte os Parâmetro Explicados em baixo)):
    d:\robocopy\robocopy.exe "d:\mywiki" "\\backupserver\wiki-backup\"  /LOG+:\\backupserver\logs\moin-backup.log /XF *.pyc /XD cache /MIR /ndl /TEE /NP /R:10 /W:30s
  2. Guarde o ficheiro como "wiki-backup.bat" (certifique-se que não tem .txt, claro)

Parâmetro Explicados:

A documentação completa do Robocopy pode ser encontrada no robocopy.doc incluída no Resource Kit.

  • d:\robocopy\robocopy.exe - directoria do robocopy.exe. (Como no exemplo em cima, movemos o Robocopy para outro sítio mais conveniente (escrever menos, evitar a utilização de espaços).

  • "d:\mywiki" - directoria da fonte

  • "\\backupserver\wiki-backup\" - directoria de destino numa outra máquina da rede.

  • /LOG+:\\backupserver\logs\moin-backup.log - executa o acesso às suas cópias de segurança (Normalmente, os meus scripts de cópias de segurança escrevem os seus registos numa pasta comum no servidor de cópias de segurança, para que eu possa facilmente verificá-los todos de uma vez. Se imitar este script exactamente, terá de criar outra pasta partilhada com o nome 'logs' no servidor de cópias de segurança (e definir permissões, como em cima)).

  • /XD cache - exclui directorias com o nome 'cache'

  • /XF *.pyc - exclui ficheiros que terminem em .pyc

  • /MIR - reproduz o destino da directoria da fonte (isto significar que os ficheiros/directorias apagadas na fonte, serão também apagadas na cópia).

  • /ndl - opção de acesso: desliga o registo de nomes de directorias (irá listar os nomes completos dos caminhos como alternativa)

  • /TEE - apresenta o resultado na janela da consola

  • /NP - suprime o indicador do progresso da cópia (% copiada) (geralmente, os fiche‏iros são muito pequenos para se preocupar com a % copiada, por isso desligue esta opção)

  • /R:10 - especifica o número de tentativas em cópias falhadas (neste exemplo, 10)

  • /W:30s - especifica o tempo de espera entre tentativas (30 segundos por omissão)

Cópias de segurança automáticas (programadas)

Evidentemente que deseja fazer cópias de segurança com regularidade, como por exemplo, todas as noites. ;-)

  1. Clique em: Iniciar > Definições > Painel de Controlo > Tarefas Agendadas

  2. Execute o wizard de "Adicionar Tarefa Agendada"
    1. Clique em "Procurar..." e localize o ficheiro .bat que criou em cima.
    2. Atribua o nome "cópia de segurança do wiki" à tarefa, e configure-a par ser executada 'diariamente' ('daily'). Escolha um horário 'calmo' em que poucas pessoas utilizem o wiki (como 5 horas da manhã).
    3. Defina o nome de utilizador e a senha do utilizador que tem permissões de acesso à pasta da cópia de segurança (consulte o passo 3 da secção "Crie um destino para cópias de segurança" em cima).

E pronto! Execute o script para se certificar de que não tem erros de sintaxe, e logo terá a sua primeira cópia de segurança do wiki! Verifique o acesso ocasionalmente para se certificar que a tarefa agendada é executada.