Главная mBackup mrotate

mBackup 0.5.2 g

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

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

Работает на Windows. Установка не требуется, зависимостей нет.

Распространяется по лицензии GNU GPL 3

ВАЖНО!!! ВЫ ИСПОЛЬЗУЕТЕ ДАННЫЙ ПРОГРАММНЫЙ ПРОДУКТ НА СВОЙ СТРАХ И РИСК!!!

Автор заранее слагает с себя ответственность за весь возможный ущерб, причиненный программой.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

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

Копирование

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

Зеркалирование

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

Синхронизация

Синхронизация файлов в приемнике и источнике. Отсутствующие файлы копируются из источника в приемник и наоборот.
Синхронизация каталогов

Архивация RAR, Zip, 7-Zip

Архивирует исходный каталог в приемник
Необходимо наличие файла rar.exe/7za.exe/7z.exe в каталоге с программой или путях path

Источником/приемником может быть как каталог на диске (или в сети), так и каталог на ftp сервере.

Во всех действиях, кроме архивации источник и приемник могут быть одновременно серверами ftp. Тогда файлы по очереди сначала скачиваются во временный каталог, а потом закачиваются в источник.

При архивации, только приемник может быть сервером ftp. Тогда сначала архив создается во временном каталоге архивов, указанном в настройках (его отсутствие или недоступность в этом случае вызовут ошибку задания), а потом помещается на ftp.

Хранение паролей

Хранить пароли в программе небезопасно!

Вы не сможете в программе увидеть какой пароль задали!

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

Настройки программы

Журналирование

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

FTP журнал

Позволяет включить подробное протоколирование работы с ftp серверами. Поведение аналогично протоколированию заданий.

Почта

Задает настройки почтовых уведомлений. Имя пользователя и пароль можно не задавать, тогда авторизация не производится. В "получателе" можно указывать несколько адресов, разделенных точкой с запятой (;). TLS/SSL - включается автоматически.
Тема и Текст относятся к уведомлениям о выполнении задания. Тема уведомл. и Текст уведомл. относятся к уведомлениям о запуске/завершении программы (по ключам -as -af)
В теме и тексте письма можно использовать параметры:

%Status%

результат выполнения задания (т.е. ок, предупреждение, ошибка)

%Name%

имя задания

%ComputerName%

имя компьютера

%ProfileName%

имя профайла

%ProgStatus%

для уведомлений о запуске/завершении программы, собственно запущена или остановлена программа (т.е. "запущена", "завершена")

%yyMMdd%

Так же можно использовать параметры даты времени. Например: %yyMMdd% или %yy-MM-dd%. Все возможные варианты смотрите в приложении

К письму будет приложен текстовый файл с логом задания.

Каталог для временных архивов

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

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

Общие параметры

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

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

Параметры зеркалирования

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

Параметры архивации

Для архивации используются внешние консольные версии архиваторов, которые должны находится в каталоге с программой или в путях path:
7zа.exe/7z.exe - ипользуется для архивов 7-Zip и Zip, включен в программу
rar.exe - используется для архивов RAR, необходимо добавлять отдельно (http://www.rarlab.com/)

В имени архива возможно задание специальных конструкций, заключенных в %. Они преобразовываются в текущую дату. Например: %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 сервер

-recurse

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

-log имя_логфайла

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

-as

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

-af

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

-q

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

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

Дополнительная информация

В катлоге с программой могут находятся файлы:

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 . Или при запуске вручную в самой программе. Вы можете использовать графическую часть для создания файлов заданий, а после добавлять выполнение этих файлов через консольную часть в планировщик.

Перевод

Если хотите перевести программу на другой язык:

Скопируйте файл mbackupw.po в файл с добавлением двух буквенного кода языка, например mbackupw.fr.po. Файл помощи при этом должен называться help.fr.htm.

Переведите строки файла. Вручную (кодировка UTF-8) или используя спец. программы, например poedit

Скопируйте новый файл в каталог Lang. В настройках программы появится новый язык

Ссылки

Написано на Lazarus. http://lazarus.freepascal.org

Использован компонент Synapse. http://synapse.ararat.cz/

Использованы бибилотеки OpenSSL. http://openssl.org/

Использован компонент DCPcrypt. http://www.cityinthesky.co.uk/cryptography.html

Архиватор 7-zip можно бесплатно скачать на http://7-zip.org/

Для перевода использовалась программа Poedit. http://www.poedit.net/

Контакты

Вопросы, предложения, замечания принимаются по адресу 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"

Символы заключенные в одинарные или двойные кавычки не преобразовываются

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

 Andrey Kapustin © 2009-2013 atsave@narod.ru