# Формати файлів

Якщо ви не накажете програмі використовувати реляційну базу даних, &kmymoney; зберігатиме ваші дані у файлі, назва якого, типово, завершуватиметься суфіксом `.kmy`. Крім того, коли ви запускатимете &kmymoney;, якщо ви не використовуєте параметр командного рядка, за допомогою якого можна вказати програмі файл, який слід завантажити, програма відкриє останній з файлів, з якими ви працювали. Важливо пам'ятати, що &kmymoney; може зберігати ваші фінансові дані у файлах декількох типів.

У цьому розділі описано формати файлів, у яких &kmymoney; може зберігати дані у постійній формі. Також обговорено резервне копіювання ваших даних.

## Формати файлів даних

Загалом, &kmymoney; зберігає власні дані у формі документа &XML;. Залежно від поточного формату, який встановлюється у налаштуваннях &kmymoney;, буде записано такий документ &XML;:

- звичайний текстовий файл у кодуванні UTF-8,

- стиснений файл з використанням стискання GZIP,

- шифрований файл з використанням шифрування GPG або

- анонімний звичайний текстовий файл у кодуванні UTF-8, але із шифруванням усіх особистих даних.

Кожен з цих форматів докладно описано у наступних розділах.

### Звичайний текстовий файл

Розміри файлів, збережених у цьому форматі, є найбільшими, оскільки не виконується ніякого стискання. Цей формат не призначено для звичайного користування, його передбачено лише з метою усування вад у програмі та забезпечення можливості зміни файлів вручну. Якщо ви завершите назву файла суфіксом `.xml`, файл буде збережено саме у цьому форматі.

Ми не рекомендуємо звичайним користувачам змінювати файл вручну. Подібні зміни слід вносити, лише якщо ви повністю розумієте внутрішню роботу &kmymoney; або отримали настанови від розробників щодо подібних змін. Будь ласка, не звинувачуйте розробників &kmymoney;, якщо ви самі вручну пошкодите або знищите свої дані: ми вас попереджали!

### Стиснутий GZIP файл

Це звичайний формат, який використовується &kmymoney; для збереження даних у файлах з суфіксом назви `.kmy`.

Якщо було вказано шифрування у налаштуваннях, файл буде збережено у зашифрованому вигляді, як це описано у наступному розділі.

Якщо ви бажаєте зазирнути всередину стиснутого GZIP файла, перейменуйте його так, щоб назва завершувалася суфіксом `.gz` (наприклад, `myfinances.kmy` слід перейменувати на `myfinances.kmy.gz`), потім скористайтеся програмою `gunzip` для розпакування файла і перегляньте його вміст. Вам не потрібно знову стискати ці дані для того, щоб завантажити їх до &kmymoney;, оскільки &kmymoney; може читати і нестиснуті дані. Якщо ж ви знову збережете ці дані, їх знову буде стиснуто. Скористайтеся суфіксом назви .xml, щоб наказати програмі зберегти дані у нестиснутому форматі.

### Зашифрований GPG файл

Використання формату файлів, зашифрованого GPG, є дуже безпечним методом зберігання ваших особистих фінансових даних на вашому пристрої зберігання. Якщо наказати &kmymoney; за допомогою діалогового вікна параметрів зберегти ваші дані зашифрованими, програма зашифрує дані за допомогою GPG і попередньо наданого вами ключа для зберігання. Під час відкриття зашифрованого файла вам слід вказати пароль, потрібний для відкриття вашого сховища ключів. Сам зашифрований файл буде збережено у форматі захищеного GPG ASCII.

Під час шифрування за допомогою GPG відбувається стискання файла за допомогою gzip, отже додаткове стискання стає непотрібним.

#### Ключі GPG

Якщо ви ще не робили цього для шифрування вашої електронної пошти, вам слід створити пару ключів для того, щоб скористатися можливістю шифрування &kmymoney; за допомогою GPG. Крім того, у вашій системі має бути встановлено GPG.

Докладні настанови щодо способів створення пари ключів та роботи з нею не є предметом цього підручника. Короткі настанови з цього питання можна знайти за адресою https://www.gnupg.org/documentation/howtos.en.html. Крім того, на сайтах більшості дистрибутивів &Linux; містяться настанови щодо користування GPG у відповідному дистрибутиві.

#### Встановлення ключів у &kmymoney;

На сторінці шифрування діалогового вікна параметрів передбачено спадний список, за допомогою якого ви зможете обрати ключ для шифрування та розшифрування. Крім того, буде показано поле для введення тексту, у яке ви можете ввести ідентифікатор ключа, якого немає у спадному списку. У цьому полі ви можете вказати ідентифікатор ключа, адресу електронної пошти, пов’язану з цим ключем, або будь-який інший чинний ідентифікатор ключа GPG. Після введення вами ідентифікатора ключа &kmymoney; перевірить його чинність і покаже зелену позначку, якщо відповідний ключ буде знайдено.

Переконайтеся, що у вас є обидва ключі: відкритий і закритий для цього ідентифікатора. Якщо у вас не буде закритого ключа для введеного ідентифікатора, згодом ви не зможете відкрити збережений файл.

#### Ключ відновлення &kmymoney;

Крім того, на цій сторінці діалогового вікна параметрів ви можете вказати програмі, що слід використовувати додаткове шифрування за допомогою ключа відновлення &kmymoney;. Ви зможете скористатися цим пунктом, якщо відповідний ключ зберігається у вашому сховищі ключів GPG. Позначення цього пункту надасть вам змогу відновити ваші дані, навіть якщо ви втратите ваш закритий ключ. Це можна буде зробити, оскільки дані буде зашифровано не лише вашим власним ключем, але і ключем відновлення &kmymoney;. Цей ключ доступний лише обраним розробникам &kmymoney; (на травень 2024 року термін дії ключа збігає 7 січня 2025 року).

За звичайних умов ви відкриватимете/зберігатимете/закриватимете ваші файли у звичайному режимі. У критичному випадку втрати вашого ключа ви зможете зв’язатися з одним з розробників, який має доступ до ключа відновлення &kmymoney; і попросити допомоги у відновленні ваших даних. Зв’язатися з розробниками можна за допомогою надсилання повідомлення електронної пошти до списку листування розробників &kmymoney; за адресою &devlist;.

Щоб отримати ключ відновлення, перейдіть до сторінки ключа відновлення KMyMoney вебсайта &kmymoney;. Скопіюйте і збережіть PGP PUBLIC KEY BLOCK (разом із рядками BEGIN і END) до текстового файла, а потім імпортуйте його за допомогою gpg.

Пам'ятайте, що розробник зможе допомогти у відновленні ваших даних, лише якщо ваш файл даних було справді зашифровано з використанням ключа відновлення на додачу до вашого власного ключа.

### Анонімний файл

Цей формат не призначено для звичайного зберігання даних. Він підтримується для того, щоб у разі виникнення проблем ви могли надіслати команді розробників &kmymoney; ваш файл без відкриття жодних ваших фінансових конфіденційних даних. Наприклад, при збереженні буде змінено назву установи, назву рахунку, платника і назви категорій на рядки у форматі «I000001» або «A000001». Подібну операцію буде виконано над усіма даними, зокрема номерами рахунків. Крім того, суми операцій буде змінено на випадкові.

Якщо вас про це попросять розробники, скористайтеся пунктом меню Зберегти як... для збереження даних у анонімному форматі (виберіть фільтр `Анонімні файли`). Суфікс назви файла буде автоматично змінено на `.anon.xml`.

Щоб переконатися, що після заміни даних на анонімні проблеми не зникли, спробуйте завантажити до програми анонімний файл і відтворити проблему. Якщо проблема відтворюється, надішліть файл до списку листування розробників за адресою &devlist; для подальшого вивчення. Якщо проблема зникає після завантаження анонімного файла… що ж доведеться шукати її причину у якийсь інший спосіб.

### Розташування файлів даних

Усі перераховані вище типи файлів можна зберігати на локальному жорсткому диску, портативному пристрої, наприклад флеш-накопичувачі USB, або у мережі. Залежно від вашої операційної системи, перед використанням може виникнути потреба у пов'язуванні або монтуванні віддаленого сховища даних.

#### Обмеження у Windows

У &Windows;, щоб скористатися місцем у мережі або віддаленим файлом, відповідний каталог має бути пов'язано із літерою диска.

## Резервне копіювання

Ми не будемо намагатися переконати вас у тому, що створення резервних копій ваших даних є надзвичайно доброю ідеєю; сподіваємося, ви вже в цьому переконалися. У цьому розділі описано три способи зробити це, і ви можете скористатися одним, двома або навіть усіма трьома з них. Зауважте, що йдеться про резервне копіювання файла даних; якщо ви використовуєте модуль SQL для зберігання своїх даних, ознайомтеся із документацією до цієї системи бази даних, щоб отримати настанови щодо створення резервних копій.

### Розташування файла резервної копії

Якщо вам потрібна резервна копія ваших даних, щоб підтвердити деякі аспекти ваших фінансів у попередній момент часу або повернутися до попереднього стану, наприклад, щоб скасувати імпорт великої кількості даних до не того облікового запису, це не має значення чи є резервна копія локальною чи збереженою в іншому місці, наприклад на долученому диску у мережі. Однак якщо вам потрібна резервна копія для відновлення після втрати даних у разі, наприклад, збою диска, важливо, щоб резервна копія була не на тому самому диску, що й ваш основний файл даних. На випадок більшої катастрофи, наприклад пожежі в будинку, вам знадобиться резервна копія, збережена у вогнетривкому сейфі або в фізично іншому місці. Будь ласка, майте це на увазі під час створення стратегії резервного копіювання.

### Автозбереження

&kmymoney; має можливість автоматично зберігати копію файла даних з регулярними інтервалами. Це також можна зробити після закриття програми, якщо дані змінилися. Цю поведінку можна налаштувати у діалоговому вікні налаштувань, розділ «Загальне», вкладка «Загальне» &kmymoney;.

### Копіювання файлів

Якщо ви не використовуєте сховище SQL, ваші дані можуть бути стиснуті та зашифровані, але зберігатимуться у звичайному файлі. Щоразу, коли ви зберігаєте свої дані за допомогою пункту меню Файл Зберегти, усі ваші дані записуватимуться до файла, замінюючи попередню версію. Найпростіший спосіб створити резервну копію ваших даних — створити копію цього файла. Одна копія може навіть мати ту саму назву файла, якщо вона зберігається в іншій теці, ніж ваш початковий файл, але якщо ви збираєтеся зберігати кілька копій, має сенс включити певну версію поточної дати та часу в кожну назву файла. Ви можете зберегти їх на диску у мережі, USB-накопичувачі або навіть оптичному пристрої. Основним недоліком цього методу є те, що вам потрібно відстежувати всі резервні копії, але він забезпечує найбільшу гнучкість.

### Команда резервного копіювання

Щоб полегшити справи, ви можете скористатися пунктом меню Файл Резервна копія .

Резервна копія файла Резервна копія файла

Коли ви натиснете Гаразд &kmymoney; створить копію вашого файла даних із додаванням до назви дати (у форматі РРРР-ММ-ДД). Зауважте, що це означає, що цим методом можна створити лише одну резервну копію на день. Якщо ви вже створили резервну копію того самого дня, &kmymoney; запитає, бажаєте ви замінити попередню резервну копію чи слід скасувати дію.

&kmymoney; збереже цей файл до каталогу, указаного в полі Точка монтування. Ви можете вручну ввести повний шлях до каталогу або натиснути кнопку Вибрати... і перейти до нього за допомогою засобу навігації файловою системою. Каталог може бути на локальному пристрої зберігання даних або це може бути тека у мережі.

Якщо вказаний каталог насправді є точкою монтування для пристрою зберігання даних, який не завжди монтується, ви можете позначити пункт Змонтувати цей каталог до створення резервної копії. Не використовуйте це для звичайного спільного доступу до файлів у мережі, який монтується завжди.