Резервная копия и восстановление

Все данные Anjyta лежат в двух местах. Чтобы восстановить систему после сбоя или перенести её на другой сервер, нужны оба.

Что копировать

Что Где лежит Что внутри
База данных Anjyta На сервере MS SQL или MySQL Задачи, переписка, пользователи, настройки, статьи, клиенты
Папка с файлами По умолчанию files рядом с программой, обычно C:\Program Files\Anjyta\files Вложения задач, сообщений и статей

Если папку для вложений меняли, её текущее расположение показано в «Настройке сервера» → «Разные настройки» → «Хранение файлов».

Важно: копии базы и файлов делайте в одно время. База хранит только названия файлов — сами файлы лежат в папке, и одно без другого даст задачи с «пустыми» вложениями.

Саму программу копировать не нужно — она ставится заново тем же установщиком. Настройки подключения к базе (сервер, логин, пароль) тоже не переносятся: они зашифрованы и привязаны к конкретному серверу, на новом их вводят заново.

Встроенное копирование

Где: вход Admin с самого сервера → «Настройка сервера» → карточка «Резервные копии». По умолчанию копирование выключено.

Окно «Резервные копии»: расписание, папка, база данных, файлы и ручной запуск

Расписание и папка

  • Создавать резервную копию каждый день и время запуска. Копия по расписанию делается один раз в день. Если в назначенное время служба была остановлена, копия создаётся после её запуска.
  • Папка для копий на сервере — впишите путь или выберите кнопкой «Обзор…». В эту папку складывается файл копии базы и, если включено, подпапка files с вложениями. Надёжнее, если это другой диск или сетевая папка.

База данных

Каждая копия базы — отдельный файл с датой и временем в имени (Anjyta_20261003_0200). В поле «Хранить последних копий» задаётся, сколько их оставлять: более старые удаляются сами.

  • MS SQL Server. Файл .bak создаёт сама служба SQL Server, поэтому права на запись в папку нужны её учётной записи. Если SQL Server стоит на другом компьютере, файл появится на нём по этому же пути.
  • MySQL. Копию делает программа mysqldump.exe из состава MySQL — вместе с процедурами и функциями, результат упаковывается в .zip. Программа ищется сама; если она не найдена, укажите путь к ней. Когда база данных стоит на другом компьютере, на сервер с Anjyta нужно установить клиент MySQL.

Файлы (вложения)

Галка «Копировать также папку с вложениями» по умолчанию выключена — папка может занимать много места. Если её включить, вложения копируются в подпапку files: в первый раз целиком, дальше только изменения. Без этой галки в копии будут задачи и переписка, но не сами вложенные файлы.

Разовая копия вручную

Кнопка «Создать копию сейчас» делает одну копию сразу, не дожидаясь расписания, — например, перед обновлением программы. Работает и при выключенном расписании. Копирование идёт в фоне, окно можно закрыть; чем закончился последний запуск, показано под кнопкой.

Каждая копия — и по расписанию, и ручная — записывается в журнал действий.

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

Свои скрипты

Если встроенное копирование не подходит — например, копии забирает общая система резервного копирования организации, — то же самое делается командами.

Копия базы: MS SQL Server

Одна команда в командной строке сервера базы данных:

sqlcmd -S localhost -E -Q "BACKUP DATABASE [Anjyta] TO DISK = N'D:\Backup\Anjyta.bak' WITH INIT"

-E — вход под текущей учётной записью Windows; для входа по логину SQL замените на -U логин -P пароль. Папка D:\Backup должна существовать и быть доступна службе SQL Server.

Копия базы: MySQL

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" --routines --single-transaction --default-character-set=utf8mb4 -u root -p Anjyta > D:\Backup\Anjyta.sql

Важно: ключ --routines обязателен. Без него в копию не попадут хранимые процедуры и функции, и восстановленная база работать не будет.

Копия папки с файлами

robocopy "C:\Program Files\Anjyta\files" "D:\Backup\files" /MIR /R:2 /W:5

/MIR делает точную копию: новые файлы добавляются, удалённые — убираются. Подпапку system_files копировать не обязательно, она ставится вместе с программой.

Запуск по расписанию

Сохраните команды в файл, например D:\Backup\anjyta-backup.bat. Этот пример хранит семь последних копий базы — по одной на каждый день недели:

@echo off
for /f %%d in ('powershell -NoProfile -Command "(Get-Date).DayOfWeek.value__"') do set DOW=%%d

rem --- MS SQL Server (для MySQL замените эту строку командой mysqldump из раздела выше)
sqlcmd -S localhost -E -Q "BACKUP DATABASE [Anjyta] TO DISK = N'D:\Backup\Anjyta_%DOW%.bak' WITH INIT"

robocopy "C:\Program Files\Anjyta\files" "D:\Backup\files" /MIR /R:2 /W:5 /NP /LOG:"D:\Backup\files.log"

И добавьте задание в Планировщик Windows — каждую ночь в 02:00:

schtasks /Create /TN "Anjyta backup" /TR "D:\Backup\anjyta-backup.bat" /SC DAILY /ST 02:00 /RU SYSTEM

Для MySQL пароль в файл лучше не писать: создайте файл настроек с разделом [client], логином и паролем, закройте к нему доступ и укажите его ключом --defaults-extra-file=... первым после mysqldump.exe.

Восстановление

  1. Установите Anjyta тем же или более новым установщиком.

  2. Восстановите базу.

    MS SQL Server:

    sqlcmd -S localhost -E -Q "RESTORE DATABASE [Anjyta] FROM DISK = N'D:\Backup\Anjyta.bak' WITH REPLACE"
    

    MySQL — в пустую базу Anjyta (как её создать — на странице «Установка MySQL»). Копию из встроенного копирования сначала распакуйте из .zip:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" --default-character-set=utf8mb4 -u root -p Anjyta < D:\Backup\Anjyta.sql
    
  3. Верните папку с файлами на прежнее место.

  4. На сервере откройте http://127.0.0.1, войдите под Admin и на карточке «База данных» укажите подключение, нажмите «Применить». Если версия программы новее, чем была база, она сама обновит её структуру.

Проверяйте копии

Копия, которую ни разу не восстанавливали, — это надежда, а не копия. Раз в несколько месяцев стоит развернуть её на тестовом компьютере и убедиться, что задачи и вложения открываются.