Программа для копирования/синхронизации/архивации директорий
Позволяет автоматизировать процесс резервного копирования директорий. Возможно копирование, синхронизирование, зеркалирование, архивация директорий. Поддержка 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.exe/7za.exe/7z.exe в каталоге с программой или путях path
Источником/приемником может быть как каталог на диске (или в сети), так и каталог на ftp сервере.
Во всех действиях, кроме архивации источник и приемник могут быть одновременно серверами ftp. Тогда файлы по очереди сначала скачиваются во временный каталог, а потом закачиваются в источник.
При архивации, только приемник может быть сервером ftp. Тогда сначала архив создается во временном каталоге архивов, указанном в настройках (его отсутствие или недоступность в этом случае вызовут ошибку задания), а потом помещается на ftp.
Хранить пароли в программе небезопасно!
Вы не сможете в программе увидеть какой пароль задали!
Все пароли хранятся в зашифрованном виде и в программе предприняты меры по сокрытию паролей (вы не сможете увидеть какой пароль задали). Но все же не следует рассчитывать на абсолютную невзламываемость программы, и ограничить доступ к файлам с заданиями и mbackup.ini
Настраиваются параметры протоколирования (лог файл): имя лог файла, ограничение размера ("0" - без ограничений), кнопка "открыть" позволяет открыть лог файл во внешней программе просмотра. Если задано ограничение лог файла, при превышении размера файла заданного ограничения, лог файл переименовывается в файл с расширением .log.bak в тойже директории и начинает вестись заново. Это сделано, что бы не происходило постоянной перезаписи файла при достижении лимита размера.
Позволяет включить подробное протоколирование работы с ftp серверами. Поведение аналогично протоколированию заданий.
Задает настройки почтовых уведомлений. Имя пользователя и пароль можно не задавать, тогда авторизация не производится. В "получателе" можно указывать несколько адресов, разделенных точкой с запятой (;). TLS/SSL - включается автоматически.
Тема и Текст относятся к уведомлениям о выполнении задания. Тема уведомл. и Текст уведомл. относятся к уведомлениям о запуске/завершении программы (по ключам -as -af)
В теме и тексте письма можно использовать параметры:
результат выполнения задания (т.е. ок, предупреждение, ошибка)
имя задания
имя компьютера
имя профайла
для уведомлений о запуске/завершении программы, собственно запущена или остановлена программа (т.е. "запущена", "завершена")
Так же можно использовать параметры даты времени. Например: %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]
где
При запуске программы запустить все разрешенные задания профиля Задания выполняются по очереди сверху вниз. Для регулирования очередности используйте кнопки вверх/вниз
Загрузить указанный профайл. Если файл находится в директории с программой, достаточно указать только имя файла без полного пути. Настройки загрузки профилей программы в этом случае игнорируются. Может быть указано только одно имя профайла. Если не укзано используется значение из файла mBackup.ini. Если указано, то заданные в командной строке <действие>, источник, приемник игнорируются.
Аналогично операции "Копирование", см. таблицу выше
Аналогично операции "Зеркалирование", см. таблицу выше
Аналогично операции "Синхронизация", см. таблицу выше
Источник: каталог или FTP сервер
Получатель: каталог или FTP сервер
Обрабатывать все подкаталоги. Без указания этого ключа подкаталоги не обрабатываются.
Указание файла для записи логов. Если не указан, параметр берется из настроек mbackup.ini.
Выслать уведомление на email о запуске программы (alert start).
Выслать уведомление на email о завершении программы (alert finish).
Основная мысль, что бы можно было контролировать процесс бэкапа, но сократить количество писем. Для этого указывается ключ -af (можно вместе с -as), а в заданиях ставится высылать уведомление только при ошибке. Получается контроль бэкапирования, при меньшем количестве писем.
Выйти из программы по завершении всех заданий (используется вместе с параметром -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%
Отображение даты, согласно настройкам для короткой даты с добавлением времени, согласно настройкам для полного отображения времени.
День месяца без 0 (1-31).
День месяца с 0 (01-31).
Абреввиатура дня недели (Sun-Sat), используя настройки ОС для коротких названий дней недели
Полное название дня недели (Sunday-Saturday) используя настройки ОС для полных названий дней недели
Дата согласно настройкам для отображения короткой даты
Дата согласно настройкам для отображения полной даты
Номер месяца без 0 (1-12). Если идет сразу за h или hh, отображаются минуты
Номер месяца с 0 (01-12). Если идет сразу за h или hh, отображаются минуты
Абреввиатура для названия месяца (Jan-Dec) используя настройки ОС для коротких названий месяцев
Полное название месяца (January-December), используя настройки ОС для полных названий месяцев
Последние две цифры года (00-99).
Год (0000-9999).
Час без 0 (0-23).
Час с 0 (00-23).
Минуты без 0 (0-59).
Минуты с 0 (00-59).
Секунды без 0 (0-59).
Секунды с 0 (00-59).
Миллисекунды без 0 (0-999).
Миллисекунды с 0 (000-999).
Время, согласно настройкам короткого формата времени
Время, согласно настройкам длинного формата времени
Использовать 12 часовое представление времени и указывать "am"/"pm" для часов
Использовать 12 часовое представление времени и указывать "a"/"p" для часов
Использовать 12 часовое представление времени и указывать заданные в настройках ОС значения вместо "am"/"pm" для часов
Отображает разделитель даты из настроек даты/времени ОС.
Отображеет разделить времени из настроек даты/времени ОС.
Символы заключенные в одинарные или двойные кавычки не преобразовываются
Помните, что отображение параметров даты/времени, зависящих от настроек ОС может отличаться на разных компьютерах.