mBackup version 0.5.1 help

Программа для копирования/синхронизации/архивации директорий

Общие сведения
Программа mBackup, для ОС Windows, позволяет автоматизировать процесс резервного копирования директорий. Возможно копирование, синхронизирование, зеркалирование, архивация директорий. Поддержка FTP/FTPs. Уведомления на почту. mBackup не требует инсталляции, не изменяет реестр и системные файлы на компьютере.

Лицензионное соглашение
  1. Все права на программу mBackup принадлежат её автору - Капустину Андрею.
  2. Программа распространяется бесплатно (Freeware) по принципу "как есть". Любой желающий может использовать программу в личных и коммерческих целях бесплатно. Вы можете создавать любое количество копий и распространять их без каких-либо ограничений, за исключением получения прибыли от распространения.
  3. ПРОДУКТ ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ЕГО НА СВОЙ РИСК. АВТОР НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ НИ ЗА КАКИЕ УБЫТКИ ЛЮБОГО РОДА, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ СЛЕДУЮЩИМИ: ПОТЕРЮ ВЫГОДЫ ИЛИ ИСКАЖЕНИЕ ЛЮБЫХ ДАННЫХ, ПРЯМО ИЛИ КОСВЕННО СВЯЗАННЫХ С ИСПОЛЬЗОВАНИЕМ ИЛИ НЕПРАВИЛЬНЫМ ИСПОЛЬЗОВАНИЕМ ПРОДУКТА.
ВАЖНО!!! ВЫ ИСПОЛЬЗУЕТЕ ДАННЫЙ ПРОГРАММНЫЙ ПРОДУКТ НА СВОЙ СТРАХ И РИСК!!!
Автор заранее слагает с себя ответственность за весь возможный ущерб, причиненный программой mBackup.

Описание операций

Действие
Операции
Описание
Копирование Содержимое источника копируется в приемник. Если у одинаковых файлов разные даты, то копирование происходит если файл в приемнике имеет более раннюю дату. Несовпадающие с источником файлы в приемнике остаются как есть.. Простое копирование
Зеркалирование Содержимое источника копируется в приемник. Если у одинаковых файлов разные даты, то копирование происходит если файл в приемнике имеет более раннюю дату. Несовпадающие с источником файлы и директории в приемнике удаляются. Файлы в источнике остаются как есть. Копирование с удалением лишних файлов и директорий в приемнике
Синхронизация Синхронизация файлов в приемнике и источнике. Отсутствующие файлы копируются из источника в приемник и наоборот. Синхронизация каталогов
Архивация RAR
Архивирует исходный каталог в приемник (Внимание: необходимо наличие файла rar.exe)
Архивация
Архивация Zip
Архивирует исходный каталог в приемник (Внимание: необходимо наличие файла 7za.exe/7z.exe) Архивация
Архивация 7-Zip
Архивирует исходный каталог в приемник (Внимание: необходимо наличие файла 7za.exe/7z.exe) Архивация

Для архивации необходимо наличие 7za.exe/7z.exe (для 7-zip, zip) и rar.exe (для rar) в каталоге с программой или в путях Path.
Источником/приемником может быть как каталог на диске (или в сети), так и ftp сервер.
Во всех действиях, кроме архивации источник и приемник могут быть одновременно серверами ftp. Тогда файлы по очереди сначала скачиваются во временный каталог, а потом закачиваются в источник.
При архивации, только приемник может быть сервером ftp. Тогда сначала архив создается во временном каталоге архивов, указанном в настройках (его отсутствие или недоступность в этом случае вызовут ошибку задания), а потом помещается на ftp.

Хранение паролей
Хранить пароли в программе небезопасно!
Вы не сможете в программе увидеть какой пароль задали!
Все пароли хранятся в зашифрованном виде и в программе предприняты меры по сокрытию паролей (вы не сможете увидеть какой пароль задали). Но все же не следует рассчитывать на абсолютную невзламываемость программы, и ограничить доступ к файлам с заданиями и mbackup.ini

Настройки программы
"Журналирование" - настраиваются параметры протоколирования (лог файл): имя лог файла, ограничение размера ("0" - без ограничений), кнопка "открыть" позволяет открыть лог файл во внешней программе просмотра. Если задано ограничение лог файла, при превышении размера файла заданного ограничения, лог файл переименовывается в файл с расширением .log.bak в тойже директории и начинает вестись заново. Это сделано, что бы не происходило постоянной перезаписи файла при достижении лимита размера.
FTP журнал - позволяет включить подробное протоколирование работы с ftp серверами. Поведение аналогично протоколированию заданий.

"Почта"
- задают настройки почтовых уведомлений. Имя пользователя и пароль можно не задавать, тогда авторизация не производится. В "получателе" можно указывать несколько адресов, разделенных точкой с запятой (;). TLS/SSL - включается автоматически.
Тема и Текст относятся к уведомлениям о выполнении задания. Тема уведомл. и Текст уведомл. относятся к уведомлениям о запуске/завершении программы (по ключам -as -af)
В теме и тексте письма можно использовать параметры:
%Status% - результат выполнения задания (т.е. ок, предупреждение, ошибка)
%Name% - имя задания
%ComputerName% - имя компьютера
%ProfileName% - имя профайла
%ProgStatus% - для уведомлений о запуске/завершении программы, собственно запущена или остановлена программа (т.е. "запущена", "завершена")
Так же можно использовать параметры даты времени. Например: %yyMMdd% или %yy-MM-dd%. Все возможные варианты смотрите в приложении
К письму будет приложен текстовый файл с логом задания.

"Каталог для временных архивов" - если указан, то архивация производится сначала в него, а потом архив копируется в каталог приемник и удаляетя из временного каталога. Если не указан, не существует или находится на одном диске с приемником, то архивация идет сразу в конечный каталог. Если указать только название каталога, то будет считаться, что это подкаталог в каталоге программы.

Параметры задания

Общие параметры
Имя каталога источника или приемника может содержать конструкции , заключенные в  %. Они преобразовываются в текущую дату/время. Например: %yyMMdd% или %yy-MM-dd%. Все возможные варианты смотрите в приложении

В исключаемых каталогах направление слэша не важно, программа сама подставит слэш нужного направления. Стартовый слэш тоже по желанию.

Параметры зеркалирования
При зеркалировании возможно задание параметра влияющего на удаление файлов в приемнике. При выборе "Хранить удаленные файлы" удаленные в приемнике файлы, в источнике не удаляются заданное количество дней. При этом в приемнике могут появлятся скрытые файлы deleted$.xml, хранящие сведения об удаленных файлах.

Параметры архивации
Для архивации используются внешние консольные версии архиваторов, которые должны находится в каталоге с программой или в путях path:
В имени архива возможно задание специальных конструкций, заключенных в %. Они преобразовываются в текущую дату. Например: %yyMMdd% или %yy-MM-dd%. Все возможные варианты смотрите в приложении

"Удалить файлы после архивации" - доступно только в rar. Удаляет исходные файлы после архивации.

"Хранить архивы не более"
- задает ограничение по времени на хранение архивов. При этом ежемесячным считаются архив с наиболее ранней датой в интервале календарного месяца (не обязательно на 1-е число). Годовым - архив с наиболее ранней датой в течение календарного года (т.е. это не обязательно январь).
Если в поле поставить 0, то данный период будет игнорироваться (например, можно хранить архивы только за последние 7 дней)

"Шифрование" - позволяет задать пароль на архив. Помните, что потом посмотреть какой пароль был задан не удастся!

"Метод сжатия" - позволяет задать метод сжатия.

"Опции"- дополнительные опции архивирования. У непрерывного архива лучше степень сжатия, но хуже восстановимость. "Копировать открытые на запись файлы" позволяет добавлять в архив блокированные файлы, но они могут оказаться битыми. Более полные описания смотрите у соответствующих архиваторов.
Если необходимо, возможно задать свои ключи для архиватора в виде строки (см. справку командной строки архиваторов).

Прочие параметры
"Внешние программы" - позволяет задать выполнение внешних программ до/после задания. Можно указать либо полный путь, либо только имя файла. Если указано только имя файла, он будет запускаться или из каталога с программой или из путей path.
Запуск выполняется по условию результата выполнения задания: "всегда" - выполнится независмо от результата задания, "ок" - только при успешном выполнении задания (для стартового скрипта, если источник и приемник существуют на начало задания), "Предупреждение" - выполнится если задание завершится успешно или с предупреждением.

"Раз в сутки" - влияет только при запуске задания из командной строки. Позволяет запускать задание только раз в сутки, независимо от количества запусков. Сделано для заданий которые нельзя запланировать. Например, на домашнем компьютере создание копии какого-либо каталога запланировать сложно. Эта опиция позволяет добавить резервирование каталога в автозапуск, но отработка будет производится только раз в день.

Параметры командной строки

Параметры одинаковы для консольной и графической версии программы. Порядок расположения ключей значения не имеет (которые с "-" начинаются).

Пример использования:
mbackup -r [-p имя_профайла] [-log имя_логфайла] [-q] [-as] [-af]
или
mbackup <действие> <источник> <получатель> [-recurse] [-log имя_логфайла] [-q] [-as] [-af]

где

-r
При запуске программы запустить все разрешенные задания профиля
Задания выполняются по очереди сверху вниз. Для регулирования очередности используйте кнопки вверх/вниз

-p имя_профайла
Загрузить указанный профайл. Если файл находится в директории с программой, достаточно указать только имя файла без полного пути. Настройки загрузки профилей программы в этом случае игнорируются. Может быть указано только одно имя профайла.  Если не укзано используется значение из файла mBackup.ini. Если указано, то заданные в командной строке <действие>, источник, приемник игнорируются.

<Действие>
copy
Аналогично операции "Копирование", см. таблицу выше
mirr
Аналогично операции "Зеркалирование", см. таблицу выше
sync
Аналогично операции "Синхронизация", см. таблицу выше

<источник>
Источник: каталог или FTP сервер

<получатель>
Получатель: каталог или FTP сервер

FTP сервер указывается в виде: ftp[s]://[пользователь:пароль@]сервер[:порт][/папка]
  Если пароль и пользователь не указаны используется анонимная авторизация.
  Порт по умолчанию: 21. Всегда используется пассивный режим.

-recurse
Обрабатывать все подкаталоги. Без указания этого ключа подкаталоги не обрабатываются.

-log имя_логфайла
Указание файла для записи логов. Если не указан, параметр берется из настроек mbackup.ini.

-as
Выслать уведомление на email о запуске программы (alert start).

-af

Выслать уведомление на email о завершении программы (alert finish).

Основная мысль, что бы можно было контролировать процесс бэкапа, но сократить количество писем. Для этого указывается ключ -af (можно вместе с -as), а в заданиях ставится высылать уведомление только при ошибке. Получается контроль бэкапирования, при меньшем количестве писем.

-q
Выйти из программы по завершении всех заданий (используется вместе с параметром -r) . Имеет смысл только в графической версии

Дополнительная информация
В катлоге с программой могут находятся файлы:
default.xml - файл содержащий сведения о задачах - профайл
mbackup.ini - файл с настройками программы
libeay32.dll, ssleay32.dll - библиотеки openssl для работы с SSL/TLS (gmail.com, ftps)
7za.exe - консольный 7-zip архиватор
mbackup.log - лог файл (возможно задать любое другое имя лог файла через настройки программы)
Lang/mbackupw.ru.po - файл перевода на русский язык

Для выполнения задачи копирования/синхронизации запускается отдельный поток. Если есть одновременно несколько задач на выполнение, то они ставятся в очередь и выполняются по одной. Это сделано для возможности задавать на одно время неограниченного числа заданий не загружая при этом компьютер.

Сама программа не содержит встроенного планировщика. Выполнение заданий происходит при запуске программы с параметром -r . Или при запуске вручную в самой программе. Вы можете использовать графическую часть для создания файлов заданий, а после добавлять выполнение этих файлов через консольную часть в планировщик.

Перевод
Если хотите перевести программу на другой язык:
  1. Скопируйте файл mbackupw.po в файл с добавлением двух буквенного кода языка, например mbackupw.fr.po. Файл помощи при этом должен называться help.fr.htm.
  2. Переведите строки файла. Вручную (кодировка UTF-8) или используя спец. программы, например poedit
  3. Скопируйте новый файл в каталог Lang
  4. В настройках программы появится новый язык
Благодарности
Написано на Lazarus. Лицензия GNU LGPL.
Использован компонент Synapse. Лицензия BSD.
Использованы бибилотеки OpenSSL.
Использован компонент DCPcrypt. Лицензия MIT.
Для работы с архивами используется командная версия архиватора 7-Zip http://www.7-zip.org/. Лицензия GNU LGPL.
Для перевода использовалась программа Poedit. Лицензия MIT.

Контакты

Вопросы, предложения, замечания принимаются по адресу atsave@narod.ru
Сайт программы: http://atsave.narod.ru

Приложение
Допустимые символы заключаемые в знак "%", для преобразования в текущую дату/время. Остальные символы останутся без преобразования. Например допустимо %YY-MM-DD% или %year YYYY month MM day DD%

Символ
Описание
c Отображение даты, согласно настройкам для короткой даты с добавлением времени, согласно настройкам для полного отображения времени.
d День месяца без 0 (1-31).
dd
День месяца с 0 (01-31).
ddd Абреввиатура дня недели (Sun-Sat), используя настройки ОС для коротких названий дней недели
dddd Полное название дня недели (Sunday-Saturday) используя настройки ОС для полных названий дней недели
ddddd Дата согласно настройкам для отображения короткой даты
dddddd
Дата согласно настройкам для отображения полной даты
m Номер месяца без 0 (1-12). Если идет сразу за h или hh, отображаются минуты
mm Номер месяца с 0 (01-12). Если идет сразу за h или hh, отображаются минуты
mmm Абреввиатура для названия месяца (Jan-Dec) используя настройки ОС для коротких названий месяцев
mmmm Полное название месяца (January-December), используя настройки ОС для полных названий месяцев
yy Последние две цифры года (00-99).
yyyy Год (0000-9999).
h Час без 0 (0-23).
hh Час с 0 (00-23).
n Минуты без 0 (0-59).
nn Минуты с 0 (00-59).
s
Секунды без 0 (0-59).
ss Секунды с 0 (00-59).
z Миллисекунды без 0 (0-999).
zzz Миллисекунды с 0 (000-999).
t
Время, согласно настройкам короткого формата времени
tt Время, согласно настройкам длинного формата времени
am/pm Использовать 12 часовое представление времени и указывать "am"/"pm" для часов
a/p Использовать 12 часовое представление времени и указывать "a"/"p" для часов
ampm Использовать 12 часовое представление времени и указывать заданные в настройках ОС значения вместо "am"/"pm" для часов
/ Отображает разделитель даты из настроек даты/времени ОС.
: Отображеет разделить времени из настроек даты/времени ОС.
'xx'/"xx" Символы заключенные в одинарные или двойные кавычки не преобразовываются

Помните, что отображение параметров даты/времени, зависящих от настроек ОС может отличаться на разных компьютерах.