Надёжное и быстрое средство для резервного копирования информации.
- Программа работает с любыми ОС Windows от WinXP и выше, всех разрядностей.
- Поддерживается теневое копирование тома для чтения заблокированных файлов.
- Умеет создавать резервные копии прав доступа для всех вложенных файлов и каталогов.
- Для файлов, которые не изменились с прошлого копирования, создаются жёсткие ссылки.
- Может присылать уведомление в Telegram в случае возникновения критических ошибок.
- Позволяет делать резервные копии съёмных носителей без создания теневой копии.
- Работает с сетевыми ресурсами и поддерживает создание хардлинков на них.
- Поддерживаются пути файловой системы любой длины и любой кодировки.
- Полная поддержка юникода, два языка интерфейса (русский и английский).
- Создание общего журнала работы программы и журналов по каждой копии.
- Поддержка тихого режима и автоматического удаления старых копий.
- Не требует никаких сторонних библиотек для своей работы.
- Полностью бесплатна для любых видов использования.
Дистрибутив программы
Скачать: LightBackup 2.0 (~1 МБ)
Принцип работы и рекомендации
Теневая копия перед копированием создаётся всегда, это позволяет сохранять любые данные, даже открытые для монопольного доступа, например базы данных или весь раздел с операционной системой. При первом запуске данные копируются как есть, при следующих — сравниваются даты файлов в источнике и последней резервной копии (опционально и размеры файлов), и вместо копирования неизменившихся файлов на них будут созданы жёсткие ссылки — это значительно ускорит создание резервной копии и сильно сэкономит место. LightBackup также создаёт жёсткие ссылки в сетевых общих папках.
Можно задать количество хранимых копий, старые будут автоматически удалены. Количество копий должно быть не меньше 2-х и не больше 1024-х, а раздел для хранения данных должен иметь файловую систему NTFS. Копирование желательно делать на физически другой носитель или сетевой ресурс, иначе при поломке источника резервирование не будет иметь смысла. Таким образом, не смотря на инкрементное копирование данных, благодаря жёстким ссылкам будет видно полную структуру данных в любой резервной копии. При этом в резервной копии изменять данные не рекомендуется, иначе изменения перенесутся жёсткими ссылками на другие копии.
Архивирование не выполняется намеренно, это позволяет получить доступ к данным в резервной копии мгновенно и из любой системы. Теневое копирование не отменяет права доступа, поэтому у пользователя, под которым работает программа, должно быть право чтения копируемой информации.
Если вы пытаетесь скопировать файлы и папки, на которые у вас нет прав чтения, можно попробовать прочитать их напрямую из секторов винчестера. Для этого расположите файл RawCopy.exe рядом с LightBackup.exe; при этом дополнительные настройки делать не нужно, LightBackup автоматически обратится к RawCopy при необходимости.
Файл конфигурации
[Main]
# Кодировка — UTF-16LE или Windows 1251
Silent = 0
# Показать сообщение после завершения копирования
LogPath = C:\Logs
# Директория общих журналов (не обязательно)
[Telegram]
Debug = 1
API = 0
Chat = 0
Error = Резервное копирование завершено с ошибками
Эта секция содержит параметры уведомления об ошибках в Telegram. Для настройки вам нужно создать бота через @BotFather
, написать своему боту любое сообщение и вписать его токен в API
. После запуска LightBackup автоматически впишет номер чата (параметр Chat
), или можете написать его вручную. Параметр Error
задаёт текст ошибки, здесь вы можете написать уникальную строку, по которой узнаете, на каком компьютере произошла ошибка. Убедитесь, что функция работает и вы получаете сообщения, а затем удалите параметр Debug
или выставьте его в ноль, тогда сообщения будут приходить только в случае ошибок. Если уведомления вам не нужны, можете как удалить всю секцию [Telegram]
, так и просто не вписывать ключ API
.
[Config1]
# Имя секции в формате ConfigX
, где X
— номер профиля
VShadow = 0
# Не создавать теневую копию тома (не обязательно)
Snapshots = 3
# Какое количество резервных копий хранить
SaveACL = 1
# Сохранять права доступа (не обязательно)
CompareSize = 1
# Сравнивать размер файлов в дополнение ко времени (не обязательно)
Source = C:\Windows\System32\Config
# Что нужно копировать
Backup = D:\Backup\Config
# В этой папке будут храниться резервные копии
Следующие секции записываются в том же формате, только увеличивается номер профиля в порядке возрастания, например Config2
, Config3
и т. д. Параметр Backup
везде должен указывать на разные директории, там создаются папки по датам и времени. Пример конфигурации создаётся при первом запуске программы. Так в первом примере создаётся резервная копия реестра, а второй пример копирует базы данных из C:\Bases
в D:\Backup\Bases
и хранит все копии за полгода, если планировщик запускается раз в сутки:
[Config2]
Snapshots = 180
Source = C:\Bases
Backup = D:\Backup\Bases
Если вы хотите временно отключить профиль не удаляя его, просто переименуйте секцию таким образом, чтобы она не соответствовала шаблону ConfigX
. Но порядок именования секций должен остаться, так как не увидев, к примеру, второй профиль, программа не будет выполнять третий.
Исключения можно задать параметром Exclude
. Можно указывать файлы и папки, с абсолютными путями или относительными каталога Source
. Значения разделяются точкой с запятой ";"
.
Для работы с сетевыми папками необходимо непосредственно перед сетевым путём дописать свободную букву диска, под которой ресурс будет подключен на время создания резервной копии. К примеру полный путь к каталогу источника выглядит как "\\Server\Bases"
, тогда источник необходимо указать как "Source = X:\\Server\Bases"
, где "X:"
— свободная буква. Если сетевые папки используются в обоих параметрах Source
и Backup
, тогда буквы следует назначать разные, так как ресурсы будут подключены одновременно. Имя и пароль к сетевому ресурсу можно указать в конце строки в формате [username:password]
. Также необходимо помнить, что из сетевого ресурса в качестве источника технически невозможно создать теневую копию, поэтому открытые и заблокированные файлы в этом случае не будут скопированы.
Также для секций можно указать параметры деактивации и создание папки с постоянным именем. Для деактивации секции, чтобы не переименовывать все остальные после неё, достаточно добавить "Active = 0"
, тогда она будет пропущена при работе программы. При создании параметра "LastLink = 1"
в папке с резервной копий будет создана символическая ссылка, которая указывает на последнюю созданную копию.
Поддержка операционных систем:
Operating system
|
Support x86
|
Support x64
|
Windows 10
|
Yes
|
Yes
|
Windows 8.1
|
Yes
|
Yes
|
Windows Server 2012 R2
|
Yes
|
Yes
|
Windows 8
|
Yes
|
Yes
|
Windows Server 2012
|
Yes
|
Yes
|
Windows 7
|
Yes
|
Yes
|
Windows Server 2008 R2
|
Yes
|
Yes
|
Windows Server 2008
|
Yes
|
Yes
|
Windows Vista
|
Yes
|
Yes
|
Windows Server 2003 R2
|
Yes
|
Yes
|
Windows Server 2003
|
Yes
|
Yes
|
Windows XP
|
Yes
|
Yes
|
Windows 2000
|
No
|
No
|
Воспользовался возможностью:
В версии 2.0.9 добавлена возможность указывать в параметрах Source и Backup переменные окружения, например C:\Users\%UserName%\Desktop. Переменные будут раскрываться в зависимости от того, кто запускает программу.
Создал секцию что бы копировать профиль пользователя:
# Что нужно копировать
Source = «%USERPROFILE%»
# В этой папке будут храниться резервные копии
Backup = «W:\___BACKuP_VM____\%COMPUTERNAME%\C\%USERPROFILE:~3%»
Вот такая комбинация не работает — %USERPROFILE:~3%
(~3 — говорит командному процессору вывести переменную без первых трех символов (в даном случае C:\)
Вывести профиль по USERNAME не всегда корректно особенно в доменной структуре когда например профиль локального пользователя admin —> C:\user\Admin а доменного пользователя admin —> C:\user\admin.Domain. Когда резервирование делается глобально на доменных машинах то поправить конфиг для всех не получается.
Понимаю что это практически частный случай, но работа с системными переменными не до конца работает…
Так это и не командный процессор, и в справке не заявлено, что будут работать функции командных файлов. Вы можете пакетным cmd-файлом формировать нужный ini-файл конфигурации и затем запускать программу. Но я так и не понял, в чём проблема скопировать хоть папку Admin, хоть Admin.Domain, и зачем у них требуется обрезать первые три символа.
>>Вы можете пакетным cmd-файлом формировать нужный ini-файл конфигурации и затем запускать программу.
Так и сделал 🙂
Но я так и не понял, в чём проблема скопировать хоть папку Admin, хоть Admin.Domain
Но это разные папки и разные пользователи! Нарушается логика и понятие что копируешь…
>>зачем у них требуется обрезать первые три символа
отрезаются «буква диска», двоеточие и слеш. В итоге получаем относительный пуск к папке профиля. котрый используется для формирования пути к архиву.
Получается понятная структура папок в архиве.
Если не трудно предусмотрите возможность указывать программе в качестве параметра файл конфига. Будет очень удобно запускать в планировщике указывая необходимый конфиг.
Большое спасибо за продукт. Реально удобно и практично использовать для бекапа.
Но ведь потом вам нужно догадываться, какой профиль принадлежал какому пользователю, если путь профиля не будет совпадать с именем пользователя. Если же у вас с этим порядок и пользователи не переименовывались, то вместо «%UserProfile%» вы можете указывать «C:\Users\%UserName%» или «C:\Users\%UserName%.Domain» в зависимости от того, где запускается программа.
Тема на форуме закрыта, спрошу здесь.
Есть шара на 2Тб с кучей файлов. Копии делаются каждый день, все ок.
Допустим, происходит какая-либо ошибка при очередном копировании.
Возможен ли в каких-то сценариях вариант, что в последнем бэкапе гораздо меньше данных, чем в предпоследнем (может перезагрузка сервера во время создания новых хардлинков)?
Например, 300 Гб.
После чего следующий бэкап будет создаваться дольше, т.к. очередной новый бэкап создается на хардлинках из последнего, верно? И он уже начнет тратить место соответственно больше на «2Tb минус 300Gb».
Если такое возможно, то какие варианты «правильно» решать такое?
Можно вручную удалить неполные бекапы, которые были сделаны во время перезагрузки сервера, и следующий бекап будет сделан на основе прошлой неповреждённой копии.
Подскажите, а как сделать только одну резервную копию? Ставлю параметр Snapshots = 1, но, всё равно, делается две 🙁
В инструкции написано, что будут делаться минимум две копии, иначе неоткуда будет брать информацию для создания ссылок.
Здравствуйте! и спасибо за вашу работу!
Перестал делать бэкапы (создаёт пустые папки). Что может быть не так? Куда смотреть?
В логе:
Log file of work LightBackup 2.0 — 23:46:40 06.01.2023
Failed to create a shadow copy of the volume, error code 2 and log C:\Utils\vshadow.log
Backup completed with errors — 23:47:14 06.01.2023
В vshadow.log:
…
Shadow copy set succesfully created.
…
— Shadow copy device name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
…
Generating the SETVAR script (C:\Users\TFLEXU~1\AppData\Local\Temp\LightBackup\Device.bin) …
— Executing command ‘C:\Utils\LightBackup.exe’ …
——————————————————
——————————————————
ERROR: Command line ‘»C:\Utils\LightBackup.exe»‘ failed!. Aborting the backup…
— Returned error code: -1073741819
— There were no writer components in this backup
Либо VSS работает некорректно, либо права на LightBackup выставлены неправильно и у системы нет доступа запустить его.
Отключил VSS: VShadow = 0
У файла LightBackup.exe и его родительской папки права SYSTEM и Administrators = Full Access (наследуются)
У целевого каталога и всех его дочерних — аналогично.
Запускается Task с учеткой из группы Administrators. Вручную прошёлся учеткой по папкам источника и приемника — доступ есть.
Но поведение аналогичное: создаётся только одна пустая папка.
Куда ещё копать?
вот ini:
++++++++++++++++++++++++++++++
[Main]
Silent = 0
[Config1]
VShadow = 0
Snapshots = 5
SaveACL = 0
CompareSize = 0
Source = D:\TF-FileServer
Backup = X:\\srv08\tffs
++++++++++++++++++++++++++++++
В логе теперь нет ошибок:
Log file of work LightBackup 2.0 — 23:40:01 09.01.2023
Backup completed successfully — 23:40:07 09.01.2023
У Source структура такая: D:\TF-FileServer\Main\папки\файлы
В Backup создаётся вот что: \\srv08\tffs\2023-01-09_23.40.01\Main\
Внутренних папок и файлов в них нет.
Свободного места хватает.
Куда ещё копать?
Тогда вероятно проблема с VSS, как проверить её на работоспособность можно найти в гугле.
Простите, но я кажется не понимаю Вас. Я ведь отключил VSS ключом VShadow = 0, так?
Но это не помогло никак — результат ровно тот же.
А до этого, с включенным VSS, в логе vshadow.log было «Shadow copy set succesfully created» и всё такое прочее. Что как бы намекает о том, что VSS работает нормально. Или я что-то не понимаю?
Неправильно прочитал ваше сообщение. В этом случае поможет указать планировщику запуск от пользователя, вошедшего в систему, но в таком случае при перезагрузке сервера нужно будет входить этим пользователем в систему, чтобы сработал бекап. Как вариант можно попробовать указать учётные данные в конфигурации LightBackup, например:
Backup = X:\\srv08\tffs [username:password]
Попробую, спасибо. Пока в дополнение, ошибка в журнале событий:
Faulting application name: LightBackup.exe, version: 2.0.10.0, time stamp: 0x5570bf9a
Faulting module name: Locate.dll, version: 0.0.0.0, time stamp: 0x5431301a
Exception code: 0xc0000005
Fault offset: 0x0000195f
Faulting process id: 0x12f8
Faulting application start time: 0x01d925ec1cab603a
Faulting application path: C:\Utils\LightBackup.exe
Faulting module path: C:\Users\TFLEXU~1\AppData\Local\Temp\nst3455.tmp\Locate.dll
Report Id: 22b59c55-6f35-45a7-9438-a08428c8ba6c
Faulting package full name:
Faulting package-relative application ID:
Гугление ничего полезного не дало.
По указанному пути эта библиотека присутствует, юзеру и System доступна.
Defender отключен, других антивирей не стоит.
Если вы получаете в журнале это событие каждый раз, когда LightBackup не может скопировать данные, то это и есть причина проблемы — модуль Locate.dll выполняет сканирование файлов для копирования и почему-то не может обработать их структуру. Быстро это не исправляется, а анализировать и делать исправление в коде модуля у меня пока нет возможности из-за войны. Возможно в той папке есть какие-то нестандартные символы в именах путей, возможно ещё что-то, это нужно выяснять опытным путём. Но тогда такая ошибка должна повторяться и при создании копии в локальную папку вместо сетевой.
Да, каждый раз.
В именах проблем быть не должно — они состоят из цифр только.
Вероятно проблема с их количеством: в Main 256 тыс. папок (на одном уровне), в каждой по 1-2 файла, всего 264 тыс. файлов.
Понял вас, держитесь, всем сердцем с вами!
Здравствуйте.
Ещё раз спасибо за программу.
Вопрос про длинные пути. Вопрос про файлы, на которые нет доступа решается rawcopy.
А с путями нет решения?
«Total Commander или встроенный файловый менеджер 7-Zip работают с длинными путями независимо от того, включена ли их поддержка в Windows.»
Или это вопрос уже обсуждали и решили, а я просто не нашел?
Спасибо.
Длинные пути поддерживаются, а RawCopy не нужен и оставлен только для совместимости, LightBackup сам получает права для чтения файлов.
Просто в логе имеем следующую запись
Ошибка копирования: (Синтаксическая ошибка в имени файла, имени папки или метке тома.)
И далее длинный путь и файл с именем с использованием текста, дат в цифровом виде через точки, запятые и скобки. Запрещенных знаков нет. Ок, поищем в чем может быть дело.
А еще вопрос.
Запись в логе на сервере —
Журнал работы LightBackup 2.0 — 12:21:55 27.01.2023
Резервное копирование успешно завершено — 13:38:43 29.01.2023
Расписание на каждый день в 23. Стоит «если задача уже выполняется, то не запускать новый экземпляр»
Сегодня 30, утро, но в планировщике задача в статусе Работает, в процессах висит программа с 0% ЦП. Так и надо?
Здравствуйте. Можно ли настроить, чтобы lightbackup «видел» диски программы Диск О?
С виртуальными дисками попробуйте использовать параметр VShadow = 0, тогда вместо создания теневой копии данные будут копироваться напрямую.
Попробовал, всё равно пишет в логе «Директория o: не существует»
Значит та программа создаёт какой-то нестандартный виртуальный диск, который система не может видеть нормально. Гугл говорит, что «Диск-О» это поделие русской говноконторы, так что его я даже для тестов устанавливать не буду.
Добрый день,
Хотел настроить резервное копирование нескольких сетевых дисков на внешний используя такой конфиг:
# Manual — http://www.LightBackup.com #
[Main]
Silent = 1
[Telegram]
Debug = 0
API = 0
Chat = 0
Error = Резервное копирование завершено с ошибками
[Config1]
Snapshots = 2
CompareSize = 0
Source = X:\
Backup = D:\SSD1
[Config2]
Snapshots = 2
CompareSize = 0
Source = W:\
Backup = D:\SSD2
[Config3]
Snapshots = 2
CompareSize = 0
Source = Y:\
Backup = D:\SSD3
Но программа сообщила, что так сделать нельзя в логах:
Журнал работы LightBackup 2.0 — 20:02:17 11.12.2023
Директория X: не существует.
Резервное копирование завершено с ошибками — 20:02:18 11.12.2023
————————————-
Журнал работы LightBackup 2.0 — 20:03:57 11.12.2023
Директория X:\* не существует.
Резервное копирование завершено с ошибками — 20:03:58 11.12.2023
————————————-
Журнал работы LightBackup 2.0 — 20:05:18 11.12.2023
Директория X:\ не существует.
Резервное копирование завершено с ошибками — 20:05:19 11.12.2023
Отсюда вопросы:
Планируется ли как-нибудь доработать, чтобы была возможность делать резервную копию всего диска, а не какой-то папки? Или может уже есть обходные пути?
Почему в логах не пишется про другие диски или после неудачи программа уже не пробегает по другим конфигурациям?
В шапке есть инструкция, «Для работы с сетевыми папками» и далее.
Благодарю за ответ.
Вроде получилось, но все равно не совсем понял, почему после не успешной копии он не делает попытку для второй и последующей конфигурации и об этом нет информации в отчете?
Также возник доп. вопрос:
После успешного копирования из сетевой папки программа автоматический отключает сетевой диск? Если да, то как-то это можно отменить, чтобы диск был доступен (оставался подключенным)?
Спасибо.
Это особенность работы программы, чтобы при проблемах процесс останавливался. Вы можете получать уведомления в телеграм и после исправления проблемы запустить копирование ещё раз. Сетевой диск автоматически отключается, просто используйте другие буквы для тех же самых сетевых ресурсов, которые уже подключены постоянно.
Еще раз благодарю за ответ!
Желаю успехов и крепкого здоровья!
Чи пробував хтось запускати утиліту на томах де увімкнено дедублікацію?
Вона побачить рівно те, що ви бачите у файловому менеджері, виключаючи символьні посилання.
Simplix привет,
А в принципе LightBackup может создать копие системы и потом возстановить ее при необходимости и как сделать?
Нет, это только для копирования пользовательских данных, при этом не учитываются права доступа и символьные ссылки.