Файл помощи.

Резервное копирование 1.0.

Примечания по установке программы:

Для работы программы необходима СУБД Firebird версии 2.5 и выше. Версия Firebird 2.5.1 (Win32) входит в дистрибутив программы. Установка СУБД начнется автоматически после запуска инсталлятора. Если у Вас Firebird уже установлен, инсталлятор выдаст соответствующее предупреждение, если установлена более ранняя версия будет предложено обновление. Также для переустановки СУБД Вы можете использовать дистрибутив Firebird расположенный в подкаталоге Redist каталога установки программы.

После запуска инсталлятора база данных - файл SCDB.FDB копируется в выбранный Вами каталог установки программы. Если необходимо разместить базу в другом месте, отредактируйте файл setup.ini, находящийся в каталоге Users\<Ваша учетная запись>\AppData\Local\exCopy в соответствии с новым местоположением базы.

Описание интерфейса:

Интерфейс

Панель инструментов используется для доступа к основным режимам работы программы. Кнопка "Новое задание" - служит для добавления заданий резервного копирования или для создания нового скрипта, "Создать копию" - копирует выбранное задание, "Редактировать задание" - для редактирование заданий, "Удалить задание" служит для удаления задания, возможен множественный выбор удаляемых заданий - с нажатым Ctrl. Задания в таблице сортируются по алфавиту.

Планировщик задач может работать по одному из двух имеющихся режимов работы - задачи запускаются каждая по своему расписанию, настройка данного режима - кнопка "Настройки планировщика заданий", и старт по одному общему планировщику - кнопка "Настройки", переключатель "Время старта всех заданий задается одним общим планировщиком". ВАЖНО - при создании новой задачи изначально отключена возможность ее автоматического запуска, - цвет неактивной задачи - затененный. Для включения запуска задания - режим "Настройки планировщика заданий", переключатель "Включить/выключить выполнение данного задания". Если этот переключатель не включен задание возможно запустить только по клику правой кнопки мыши - "Выполнить текущее задание". Обратите внимание, все операции по редактированию и удалению заданий, возможны только при отключенном планировщике и отсутствии выполняемых в данный момент заданий.

Настройки

В режиме "Настройки планировщика заданий" настраиваются параметры запуска задания. По правой кнопки мыши на списке заданий Вы можете заменить параметры старта всех заданий параметрами планировщика из текущего задания. Параметры планировщика сохраняются как по кнопке "Сохранить" так и при перемещении с одного задания на другое.

Кнопка "Запустить/остановить планировщик" служит для отключения или включения работы планировщика по одному из двух выбранных режимов.

Кнопка "Запустить/остановить активные задания" разово запускает активные задачи на выполнение. Под активными подразумевается задачи, включенные в процесс выполнения в планировщике через переключатель "Включить/выключить выполнение данного задания". Обратите внимание - работа в данном режиме возможна только с отключенным планировщиком.

Кнопка "Очистить лог событий всех заданий" очищает из БД логи всех заданий. Для того чтобы просмотреть лог задания необходимо "кликнуть" левой кнопкой мыши в поле "Статус", и затем еще раз по появившейся кнопке.

Режим "Настройки" служит для изменения основных настроек программы.

Настройки

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

При активном переключателе "Ждать завершения дочерних процессов" если при старте, или завершении процесса запускается внешнее приложение - процесс ждет его завершения.

Кнопка "Создать копию базы данных" создает копию БД в каталоге - Users\<Ваша учетная запись>\AppData\Local\exCopy\Backup, файл именуется в формате SCDB.FDB_+"dd_MM_yyyy_HH_mm_ss". После восстановления базы по кнопке "Восстановить базу данных из копии" желательно перезапустить программу. Все функции копирования - восстановления выполняются с помощью стандартах утилит СУБД Firebird gfix.exe и gbak.exe. По кнопке "Сохранить выбранные задания в XML файл" можно произвести сохранение выбранных заданий в файл в формате XML. Пункт "Добавить задания из XML файла" добавляет к имеющимся заданиям задания из сохраненного файла.

При создании нового задания копирования файлов и каталогов откроется следующее окно:

Копирование

По кнопке "Добавить в список" добавляются копируемые файлы и каталоги. По двойному щелчку мыши на списке добавленных элементов вызывается диалог редактирования имен файлов и каталогов. Если активен переключатель "Создать дополнительный подкаталог" будет создана дополнительная папка согласно заданному формату. Допускается представление в одном из следующих форматов: d - день месяца (1-31), dd - (01-31), ddd - краткое наименование дня недели, dddd - полное наименование дня недели, месяцы - M - номер месяца (1-12), MM номер месяца (01-12), MMM - краткое наименование, MMMM - полное наименование, yy - год кратко, уууу - четырехзначное значение года. Для времени: h - часы (0-23), hh - часы (00-23), аналогично - H, HH (с учетом AM/PM), m - минуты (0-59), mm - минуты (00-59), s - секунды (0-59), ss - секунды (00-59), z - миллисекунды (0-999), zzz - миллисекунды (000-999), AP или A, ap или a - интерпретаторы AM/PM.

ВАЖНО - при установленном переключателе "Затереть содержимое результирующего каталога перед записью" - все данные в каталоге приемнике будут удалены!, т.е. например, копирование происходит в корень диска Z:\ - будет очищен весь диск Z:\, если копируется в каталог Z:\test - будет очищено только содержимое каталога Z:\test.

Вкладка "Настройка фильтров" служит для настройки параметров включения-исключения файлов, каталогов, в процессе копирования.

Фильтры

По кнопкам "Добавить расширение", "Добавить файл", "Добавить каталог" Вы можете выбрать какие файлы, каталоги копировать, или исключать из процесса копирования. Для этого из сформированного списка необходимо выбрать по одному, или списком - с нажатым Ctrl необходимые значения и отметить переключателями - "Копировать только выбранное" или "Исключить выбранное". Для редактирования введенных значений - двойной клик мыши. "Копировать только выбранное" - копируются только выбранные в списке значения, "Исключить выбранное" - выбранные файлы и каталоги исключаются из копирования. Фильтр "Копировать без вхождения в подкаталоги" используется в случае, если необходимо копирование только с корня диска или каталога, без вхождения в его подкаталоги. "Выполнить до", "Выполнить после" задают программы для выполнения до процесса копирования и после. При настройке командной строки возможно использование следующих ключей: <-dir> - каталог копирования, <-date>, <-time> - текущие значения даты и времени. Например, в вышеприведенной картинке для архивирования скопированных данных после копирования вызывается утилита для архивирования - 7z со следующими параметрами командной строки: - параметр a - создать архив, далее <-date> и <-time> заменяются на текущие дату и время, в качестве текущего каталога запускаемой утилиты указывается - <-dir> - заменяется на каталог, куда было произведено копирование. Фильтр "Не копировать файлы с датой создания" позволяет исключать из копирования фалы: с датой меньшей, большей, равной, или меньшей сегодня - дней. Например, для копирования файлов за текущий период времени можно выбрать "< сегодня - дней" и указать количество дней = 0. При активном переключателе "Не перезаписывать имеющиеся файлы" при наличии в каталоге приемнике файлов с аналогичными именами, как и в каталоге - источнике, они не будут перезаписаны в любом случае. Переключатель "Перезаписывать имеющиеся файлы в любом случае" действует инверсно предыдущему переключателю.

Работа со скриптами:

Скрипты

Для расширения функциональных возможностей в программу встроен скриптовой модуль, использующийся для написания скриптов на ECMAScript - http://ru.wikipedia.org/wiki/ECMAScript, с импортированным модулем qt.core (справка по модулю сгенерирована Qt Script Generator) Для адаптации к функционалу программы, добавлены следующие дополнительные функции:

void writeLn(const QString &); - вывод строки на консоль с переходом на новою строку, параметр - выводимая строка

пример: engine.writeLn("Привет Мир !"); (engine это "обертка" - расширение, все дополнительные функции должны обязательно начинаться с engine.)

void write(const QString &); - вывод строки на консоль, параметр - выводимая строка

void clearConsole(); - очистка консоли

void showMessage(const QString &); - вывод окна с сообщением, параметр - выводимая строка

DateTime getFileDateTime(const QString &); - получение даты и времени создания файла, параметр - путь и имя файла, возвращаемое значение дата и время в формате ECMAScript

пример использования: engine.write(engine.getFileDateTime("c:/config.sys")); (обратите внимание что слеш задается как "/" или можно "\\")

bool writeToFile(const QString &, const QString &); - запись в файл - параметры - 1 - путь и имя файла, 2 - записываемая строка, возвращает true в случае успеха, или false в случае ошибки

пример: engine.writeToFile("c:\\example.txt","test"); - в файл c:\example.txt запишется строка "test". Если файл отсутствует, он будет создан заново, если уже существует, строка будет добавлена в конец файла.

QString copyFile(const QString &source, QString target); - копирование файла - параметры - 1 - что копируем, 2 - куда копируем, функция возвращает пустое значение в случае успеха, или текст возникшей ошибки

пример: engine.copyFile("c:/config.sys", "c:\\test"); - копирование файла c:\config.sys в каталог c:\test, при отсутствии каталога он будет создан.

QString copyDir(QString, QString, QString Filters); - копирование каталога - параметры 1- что копируем, 2 - куда копируем, 3 - фильтр (если указано пустое значение, или "*" копируется все), возвращает "" - если нет ошибок, или список возникших ошибок

пример: engine.copyDir("c:/windows", "c:/windows_dll", "*.dll");

QString clearDir(QString, QString Filters, QString Age); очищает каталог, параметры 1 - каталог, 2 - фильтры, 3 - разница в днях между датой создания файла и текущей датой, если это значение больше указанного, файл удаляется, ВНИМАНИЕ - если маска файлов = "*" и разница в днях = "All", или любое не цифровое значение, каталог полностью удалится.

Пример: engine.clearDir("c:\\test","*","0"); - удалить все файлы из каталога c:\test.txt, кроме созданных сегодня

QString deleteFile(const QString &fileName); - удаление файла, параметры - имя удаляемого файла, возвращает пустую строку в случае отсутствия ошибок

QString executeFile(const QString &filename, const QString &app_arg, QString app_dir, const bool &wait); - выполнение файла с выводом окна выполняемого приложения, параметры - 1- имя файла, 2 - аргументы, 3 - домашний каталог, 4 - признак ожидания завершения выполнения

пример: engine.executeFile("notepad.exe", "c:/new_file.txt","c:/", true); - будет запущено приложение notepad.exe, задание будет ожидать закрытия данного приложения

QString runFile(const QString &filename, const QString &app_arg, QString app_dir, const bool &wait); - выполнение файла без вывода на экран

пример: engine.runFile("cmd", "","", true); ВАЖНО - в данном случае произойдет "зависание" задания, т.к. окно приложения cmd.exe не выводится на экран, но установлено условие ожидания завершения, остановить задание возможно только "сняв" cmd.exe из диспетчера задач.

QString getLocation(const QString &); получить место хранения в файловой системе предопределенных каталогов (Desktop; Documents; Fonts; Applications; Music; Movies; Pictures; Temp; Home; Data; Cache)

пример: engine.showMessage(engine.getLocation("Temp")); - вывод местоположения каталога для хранения временных файлов

qint64 GetDiskFreeSp(const QString &Disk); - получить объем незанятого пространства, параметры - 1-имя диска, возвращаемое значение в мегабайтах

пример: engine.showMessage(engine.GetDiskFreeSp("c:\\"));

qint64 GetDirSize(const QString &dir); подсчитать размер каталога параметры 1 - каталог, возвращаемое значение в байтах

пример: engine.showMessage(parseFloat(engine.GetDirSize("c:\\windows")/(1024*1024)).toFixed(1)); (преобразуем значение в мегабайты и округляем)

void pause(const int &); - пауза, параметр - величина паузы, в миллисекундах

После установки программы, в каталоге Users\<Ваша учетная запись>\AppData\Local\exCopy\Scripts (Win7) или Documents and Settings\<Ваша учетная запись>\Local Settings\Application Data\exCopy\Scripts (предыдущие версии Win) Вы найдете несколько примеров скриптов.