# Formatos de arquivo

A menos que você opte por usar um banco de dados relacional, o &kmymoney; armazenará todas as suas informações financeiras em um arquivo. Normalmente, o nome do arquivo terminará em `.kmy`. Além disso, ao iniciar o &kmymoney;, a menos que você use uma opção de linha de comando que o instrua a não fazer isso, ele abrirá o último arquivo que estava aberto. No entanto, é importante saber que, na verdade, existe mais de um tipo de arquivo que o &kmymoney; pode usar para armazenar seus dados financeiros.

Este capítulo descreve os formatos de arquivo nos quais o &kmymoney; pode armazenar seus dados de forma permanente. Também aborda o backup de seus dados.

## Formatos de arquivo de dados

Em geral, o &kmymoney; armazena suas informações na forma de um documento &XML;. Dependendo do formato específico, definido na configuração do &kmymoney;, este documento &XML; será gravado:

- como um arquivo de texto simples, codificado em UTF-8,

- como um arquivo compactado, usando compressão GZIP,

- como um arquivo criptografado, usando criptografia GPG, ou

- como um arquivo de texto simples anônimo, codificado em UTF-8, mas com todos os seus dados pessoais embaralhados.

Cada um deles é descrito com mais detalhes nas seções a seguir.

### Arquivo de texto simples

Este é o formato que consome mais espaço, uma vez que não é efetuada nenhuma compressão. Não foi feito para um uso normal e é fornecido apenas para fins de depuração, e com a ideia de modificar manualmente o arquivo. Se o nome do arquivo tiver a extensão `.xml`, o arquivo será gravado nesse formato.

A modificação manual do arquivo não é recomendada para o usuário normal, devendo apenas ser efetuada se o funcionamento interno do &kmymoney; estiver completamente compreendido ou tiver indicações dos programadores sobre o que fazer. Não culpe os programadores do &kmymoney; se você danificar ou destruir os seus dados: Você foi avisado!

### Arquivo comprimido com o GZIP

Este é o formato normal, usado pelo &kmymoney;, quando salvar um arquivo com a extensão `.kmy`.

Se a opção criptografia tiver sido selecionada na configuração, o arquivo será armazenado criptografado, conforme descrito na próxima seção.

Se você quiser ver um arquivo compactado com o GZIP, renomeie o arquivo para algo que termine em `.gz` (⪚ `financas.kmy` para `financas.kmy.gz`, usando depois o `gunzip` para descompactar o arquivo e olhar para ele. Você não terá que compactar o arquivo antes de carregá-lo no &kmymoney; da próxima vez, porque o &kmymoney; também consegue ler os dados sem compactação. Em todo o caso, se salvá-lo posteriormente, ele será gravado compactado novamente. Use a extensão `.xml` para o salvar num formato não-compactado.

### Arquivo criptografado com o GPG

O uso do formato de arquivo criptografado com o GPG é um método muito seguro de guardar seus dados financeiros pessoais no seu dispositivo de armazenamento. Quando o &kmymoney; for configurado na respectiva janela para guardar os seus dados criptografados, ele irá codificar os dados com o GPG e com a chave que indicar, antes de salvá-lo propriamente. Ao abrir um arquivo criptografado, você deverá indicar a senha necessária para abrir o seu porta-chaves. O arquivo criptografado em si será guardado no formato armado em &ASCII; do GPG.

Ao usar a criptografia do GPG, ele irá também comprimir o arquivo usando o gzip, não sendo necessária nenhuma compressão extra.

#### Chaves do GPG

Se não as criou para a criptografia do correio, você terá que gerar um par de chaves para poder usar a funcionalidade de criptografia com GPG do &kmymoney;. Do mesmo modo, o GPG terá que estar instalado no seu sistema.

Os detalhes sobre a geração de um par de chaves, e como lidar com ele, está fora do escopo deste documento. Está disponível um Mini-Howto sobre o assunto em https://www.gnupg.org/documentation/howtos.en.html. Os sites da maioria das distribuições Linux também contêm instruções sobre como usar o GPG nessa distribuição.

#### Configurar as chaves no &kmymoney;

Na página de criptografia da janela de configuração, existe um campo onde você poderá inserir a chave que deverá ser usada para criptografia e descriptografia. Além disso, existe um campo onde poderá usar o ID de uma chave que não conste na lista. Você tanto poderá usar o ID da chave, o endereço de e-mail associado a esta chave ou qualquer outra identificação de chaves do GPG válida como valor para este campo. Quando inserir o ID da chave, o &kmymoney; irá verificar a sua validade e ligar um LED verde na janela, caso seja encontrada uma chave.

Certifique-se de que tem tanto a chave pública como a privada para este ID. Se você não possuir a chave privada do ID introduzido, não será capaz de acessar o arquivo de novo.

#### Chave de recuperação do &kmymoney;

Do mesmo modo, nesta página da janela de configuração, você poderá selecionar uma criptografia complementar com a chave de recuperação do &kmymoney;. Esta opção está disponível para você, se essa chave estiver no seu porta-chaves do GPG. Se selecionar esta opção, poderá recuperar os seus dados, mesmo no caso de perder a sua chave privada. Isso é possível porque os dados não são criptografados apenas para sua própria chave, mas também para a chave de recuperação do &kmymoney;. Essa chave está disponível apenas para desenvolvedores selecionados do &kmymoney; (na data desta publicação, apenas para o autor). A partir de maio de 2024, a chave de recuperação expirará em 7 de janeiro de 2025.

Em circunstâncias normais, você irá abrir/salvar/fechar o seu arquivo, como de costume. No caso anormal de perda da sua chave, você terá a chance de contactar um dos programadores que tiver acesso à chave de recuperação do &kmymoney;, e pedir ajuda para recuperar os seus dados. Você poderá contactar os programadores por e-mail, na lista de correio do &kmymoney;, em &devlist;.

Para obter a chave de recuperação, acesse A página da chave de recuperação do KMyMoney no site do KMyMoney. Copie e salve o BLOCO DE CHAVE PÚBLICA PGP (incluindo as linhas BEGIN e END) em um arquivo de texto e, em seguida, importe-o com o gpg.

Lembre-se de que o desenvolvedor só poderá ajudar a recuperar seu arquivo de dados se você o criptografar de fato com a chave de recuperação, além da sua própria chave.

### Arquivo anônimo

Este formato não pretende ser usado para o armazenamento de dados normais. É suportado para que, em caso de ocorrer algum problema, possa fornecer à equipe de desenvolvimento do &kmymoney; o seu arquivo sem revelar nenhum dos detalhes confidenciais dos seus dados financeiros. Por exemplo, muda a instituição, a conta, o beneficiário e os nomes das categorias para coisas do tipo "I000001" e "A000001", fazendo alterações semelhantes para todos os dados, como os números de conta, mudando também de forma aleatória os montantes das transações.

Se for indicado pelos programadores, use a opção do menu Salvar como... para salvar os seus dados num formato anônimo, selecionando os `Arquivos anônimos` como filtro. Isto irá também mudar a extensão do arquivo para `.anon.xml`.

Para verificar se o seu problema ainda existe, recarregue este arquivo anônimo e tente reproduzir o seu problema. Se ele continuar existindo, envie o arquivo à lista de correio dos programadores, em &devlist;, para mais informações. Se o problema não se manifestar... bem, não queremos pensar nesse cenário por enquanto.

### Localizações do arquivo de dados

Todos os tipos de arquivo acima podem ser armazenados em um disco rígido local, um dispositivo removível, como um pen drive USB, ou em um local de rede. Dependendo do seu sistema operacional, pode ser necessário mapear ou montar um local remoto antes de usá-lo.

#### Limitações no Windows

No &Windows;, para usar um local de arquivo de rede ou remoto, esse local mapeado deve ser mapeado para uma letra de unidade.

## Backup

Não tentaremos aqui convencê-lo de que fazer cópias de segurança dos seus dados é uma excelente ideia; esperamos que você já esteja convencido disso. Esta seção descreve três maneiras de fazer isso, e você pode usar uma, duas ou até mesmo as três. Observe que trata-se de fazer backup de um arquivo de dados; se você usa um banco de dados SQL para armazenar seus dados, consulte a documentação desse sistema para obter instruções sobre como fazer backups.

### Localização do arquivo de backup

Se você precisar de uma cópia de segurança dos seus dados para confirmar algum aspecto das suas finanças em um momento anterior, ou para reverter a um estado anterior, como desfazer a importação de muitos dados para a conta errada, não importa se a cópia de segurança está local ou armazenada em outro lugar, como em uma unidade de rede conectada. No entanto, se você precisar de um backup para se recuperar da perda de dados caso seu disco rígido falhe, por exemplo, é essencial que o backup não esteja na mesma unidade que seu arquivo de dados principal. Em caso de um desastre maior, como um incêndio em casa, você precisaria de uma cópia de segurança armazenada em um cofre à prova de fogo ou em um local fisicamente diferente. Lembre-se disso ao estabelecer sua estratégia de backup.

### Salvar automaticamente

O &kmymoney; tem a capacidade de salvar automaticamente uma cópia do seu arquivo de dados em intervalos regulares. Ele também pode fazer isso ao fechar o programa, se os dados tiverem sido alterados. Esse comportamento pode ser configurado na caixa de diálogo de configuração do &kmymoney;, na seção Geral, aba Global.

### Copiar arquivo

A menos que você esteja usando armazenamento SQL, seus dados podem estar compactados e criptografados, mas são mantidos em um arquivo comum. Sempre que você salva seus dados com o item de menu Arquivo Salvar, todos os seus dados são gravados em um arquivo, substituindo a versão anterior. A maneira mais simples de fazer backup dos seus dados é criando uma cópia desse arquivo. Uma única cópia pode até ter o mesmo nome de arquivo se estiver em uma pasta diferente do arquivo original, mas se você for manter várias cópias, faz sentido incluir alguma versão da data e hora atuais em cada nome de arquivo. Você pode salvá-los em uma unidade de rede, em um dispositivo de armazenamento USB ou até mesmo em um dispositivo óptico. A principal desvantagem desse método é que você precisa controlar todos os backups, mas ele oferece a maior flexibilidade.

### Comando de backup

Para facilitar um pouco as coisas, você pode selecionar o item de menu Arquivo Backup .

backup de arquivo backup de arquivo

Ao clicar em OK, o &kmymoney; criará uma cópia do seu arquivo de dados, com a data (formatada como AAAA-MM-DD) anexada ao nome. Observe que isso significa que apenas um backup por dia pode ser criado por este método. Se você já tiver criado um backup no mesmo dia, o &kmymoney; perguntará se você deseja substituir o backup anterior ou cancelar.

O &kmymoney; salvará este arquivo no diretório especificado no campo Ponto de montagem. Você pode digitar manualmente o caminho completo para o diretório ou clicar em Escolher... e navegar até ele usando o navegador de arquivos. O diretório pode estar em um dispositivo de armazenamento local ou em uma pasta de rede.

Se o diretório especificado for, na verdade, um ponto de montagem para um dispositivo de armazenamento que nem sempre está montado, você pode marcar a caixa de seleção Montar este diretório antes de fazer backup. Não use isso para um compartilhamento de arquivos de rede comum que está sempre montado.