при старте программы
по указанию пользователя
1 раз в 10 минут
1 раз в час
1 раз в сутки
1 раз в неделю
1 раз в 10 дней
1 раз в месяц
Программа ведет лог-файл, поэтому определить - изменились ли файлы в папке - источнике и произошла ли синхронизация, не составляет труда.
Файл DataCopy.ini имеет следующий вид:
[Main] DataFullPath=C:\Program Files\DataCopy\Data DefFileNameFullPath=C:\Program Files\DataCopy\Data\WatchDef.wth DefLogNameFullPath=C:\Program Files\DataCopy\Data\WatchLog.Log
Где:
DataFullPath - полный путь к каталогу данных программы
DefFileNameFullPath - полный путь и имя файла заданий
DefLogNameFullPath - полный путь и имя лог-файла
Опция | Коментарий | Реализация |
При первом запуске сделать возможность добавления программы в меню автозагрузки | Функция для ленивых :-) Скорее всего, когда будет инсталляция программы - тогда и реализуется. | В будущем |
При первом запуске автоматически создавать ini файл и запрашивать у пользователя пути для файлов | Неоднократные замечания. Сделаю. | Реализовано в версии 0.6. Пути не запрашивает, использует в качестве пути текущий путь к программе |
Сделать описание программы, в идеале - человеческий Help | Постараюсь. Сейчас осваиваю инструментарий для работы с chm файлами | В скором времени |
Опция | Коментарий | Реализация |
Хотелось бы процесс синхронизации как-то визуально отображался. Не
обязательно термометр, но хотя бы в статусной строке что-то писалось. Типа: "копируется файл1" "копируется файл2" И по окончании обязательно надо сообщение, что процесс закончен. |
Уже сделан - во время синхронизации в статусной строке выдается имя текущего копируемого файла, по окончании задания синхронизации - в Лог окне появляется сообщение о синхронизации. Если хотите выдачу процентов копирования или прогресс бар - пишите. | Сделано |
И в логе чтобы был список измененных (читай скопированных) файлов. | По всей видимости необходимо вводить систему UNIX - уровней отладки - простой лог, более сложный, детальный и тд. Если это очень актуально - пишите. | Частично реализовано. При установке Ведение расширенного лог файла. |
Вести журнал изменений в папках (ОЧЕНЬ Важно !!!). Пример: (10.05.2003 - Папка Такая Файлы такие и столько Изменение размера +/- столько Кол-во файлов +/- столько !!! В данной папке на сегодняшную дату были удалены файлы * такие * ), т.е. должен быть журнал итогов за контрольный период - год ,неделя, день, час, минута, сек. - ПО ВЫБОРУ !!! | Об этом писал чуть раньше. Если очень надо - пишите | Реализация во вторую очередь |
Опция | Коментарий | Реализация |
Программа обновляет даже те файлы, которые в источнике старее.
Этот момент должен быть четко описан. И он не всегда очевиден. А вообще этот момент лучше настраивать. Например: - обновлять все, - обновлять только старые файлы - если найден, то не переписывать | При синхронизации производится простая проверка если размер файлов не совпадает, или если атрибуты файлов не совпадают, или если дата создания файла - источника новее даты файла-приемника - произвести синхронизацию. В расширенных возможностях реализовано - обновлять все, - обновлять только старые файлы - копировать отсутствующие файлы | Реализовано |
Ты каким файловым менеджером пользуешься? Я это к чему. Если твою замечательную и нужную программу разработать как плагин под Total Commander, то число желающих ее себе установить возрастет на порядки. Во-вторых, за полезные плагины ghisler бесплатно дает регистрацию (хоть это и не веский довод;). В-третьих, ее можно уже будет разместить на хороших сайтах типа гислеровского, wincmd.ru и т.д. А если разработчикам понравится, то они его модульно разместят в своей следующей версии (с отчислениями в адрес ее написавшего;). В-четвертых, Total, обычно, у всех его пользователей запущен целый день (сворачивается в трей, если мешает, порой, на экране). То есть бэкапить из-под него вполне реально и, может быть, проще, чем запускать процесс отдельно. Может я и ошибаюсь? Ведь можно использовать функции копирования самого командера (там есть и пункты "заменить старые файлы", который реализовывать отдельно придется без total-a). Ну и, бэкап по сети, вероятно, проще будет сделать. Именно сетевой бэкап чаще востребован. | Такое надо? Я вот Farom пользуюсь | Вряд ли |
Что на мой взгляд, в программе должен быть ВЫБОР (в настройках): 1. Обновлять или нет ранее записанные ИНДЕНТИЧНЫЕ ПО НАЗВАНИЮ файлы; 2. Измененные копии ранее записанных файлов писать по измененным именем : ~1...до бесконечности (чтобы была возможность иметь полный архив изменений проектов и файлов); 3. Различать изменение файлов в большую и меньшую сторону (это важно !!!) 4. * ВАЖНО * Уметь работать с файлами *.zip, *.zif (надо чтобы при записи *.zip, можно было не переписывать тотже файл *.zif, и чтобы эти папки не проявлялись просьбой "над ли записывать, то что ранее было записано ?") | Буду думать. | Не знаю |
И нет несколько масок :( только повторять задания с новой а если бы *.exe;*.dll;*.pas or *.exe,*.dll,*.pas | Логично | Реализовано в версии 0.6 | 1. Сейчас копируется содержимое указанной папки - надо бы копировать папку с содержимым. 2. В окне EditWatchForm ввести (дополнить) возможность вводить данные с клавиатуры и из буфера обмена. А в дальнейшем хорошо бы ввести возможность копирования с архивацией, используя архиватор(ы) пользователя. | Буду делать | Во вторую очередь |
Научи ее запоминать размеры,а то в XP выглядит не хорошо | Буду делать | Во вторую очередь |
часто закрываю программу на крестик привык что в прогах есть настройка: сворачивать в трей при закритии yes/no | Ок | Вскоре |
- вообщем то мне (это мое личное мнение, у других наверое другое) запуск прог после завершения синхронизации не очень нужен, точнее говоря совсем не нужен,но былы бы очень хорошо по системным часам запускать какую-нибудь прогу, типа "архиватор", которая засовывала бы все синхронизированные папки от юзверей в один файл (вообщем-то на это способен любой, правильно настроеный, архиватор, а потом этот файл копировался куда-нибудь на стриммер (это задача уже других прог), что обеспечивало бы 100% гарантированную от всяких тама внених воздействий архивацию данных. Причем этот процесс настолько "интимный" :), что наверное подавляющее большинство админов предпочло бы, что бы он происходил часа в 2 ночи, отсюдова и пожелание видеть запуск в определенное время, хотя этим может заняться и штатный виндовый планировщик - а как бы назначать синхронизацию данных в определенное время, а то раз день конечно удобно, но возникает вопрос, а когда именно раз в день, мне бы как бы лучше вечером, что бы работу юзверей за день архивировать, ну а вообще в идеале, конечно, расписание по времени, ну например тама в 13.30 - обед, 17.30 - окончание рабочего дня, ну и т.д. | Ок | Ближе к 1 версии |
желательно чтобы во первых программа обновляла не все
файлы из sourse folder а только те которые уже лежат но устарели в
destination также неплохо добавить сохранение резервной копию
обновляемых файлов и переименовывание по шаблону. Например у меня два файла разного содержания но одинаковое название на сети. Раньше я тупо обновлял каждый день и переименовывал в другое название один из них а так я задал дир и сказал что его обновлять под названием таким то. e:\dir\dcl.dbf copy c:\dir\dcl.dbf e:\dir2003\dcl.dbf rename c:\dir\olddcl.dbf | Потребует изменения формата файла заданий | Позже |
Плохо, что программа в одном задании не позволяет выделить несколько папок-источников, откуда копировать. Если я резервирую целый диск с десятком папок, то создавать "Вотч" на каждую папку неудобно. Соответственно, нужно предусмотреть удобный способ куда эти папки копировать в одном задании, предоставить возможность запихнуть из все в одну папку на архивном диске или же прямо вывалить на архивный диск как есть. О сжатии я не говорю, это, вероятно, здесь не нужно. Иначе чем ваша программа будет отличаться от микрософтовского виндоусовфского Бэкапа? Дядьку Билла Гейтса вы все равно не переплюнете, следовательно, надо бороться за простоту, красивое оформление,удобство и надежность. Почему у вас кот какой-то невыразительно серый? Далее, есть проблемка, я не знаю, решаема ли она. Предположим, Ворд или другой редактор записал в атрибутах созданного им файла последнюю дату создания или модифицирования файла. Тогда, если со времени последнего модифицирования родным редактором файл им не менялся и тем не менее по сравнению с предыдущим архивированием его размер отличается, это значит, что файл испорчен вирусом или каким-то тараканом залезшим на диск. Ваша программа должна отслеживать это (где-то хранить информацию о датах модифицирования, датах последнего резервировагния и размерах файлов) и выдать предупреждение о возможной порче файла, предоставив пользователю возможность отказаться от его копирования до выяснения обстоятельств. Чтобы испорченным файлом не заменить хороший. | Такое надо? | Попозже |
Неплохо бы релизовать копирование самой Watch, несколько неудобно вводить 20 раз адрес, различающийся 1 цифрой (user1,2,3) | Такое надо? | Попозже |
Синхронизация по сети уже реализована (БЕЗ ИСПОЛЬЗОВАНИЯ ПАРОЛЕЙ!!!!!) -необходимо тестирование.Усиленно жду пожеланий и помощи.
Скачать программу:
DataCopy.zip версия 0.8 размер архива - 356 500 байт, размер программы - 903 680 байт
Скачать программу (зеркало):
DataCopy.zip версия 0.8 размер архива - 356 500 байт, размер программы - 903 680 байт
Поменялся внешний вид
Рисунок 1 - Основное окно программы
Неоднократные Ваши пожелания по внешнему виду учтены
Добавлена возможность копирования данных вместе с корневой папкой-источником, т.е. для рисунка -
если этот пункт отмечен - то в папке 2 будет создана папка images вместе со всем содержимым,
в противном случае - только содержимое
Добавлена возможность расширенного лог - файла
Добавлен индикатор выполнения задания в статусной строке
Добавлена возможность двунаправленной синхронизации. Теперь можно делать полную синхронизацию(вместе со следующей возможностью). Приоритетной является папка - источник.
Реализована возможность удаления в папке приемнике (а при использовании предыдущей возможности и в папке источнике) отсутствующих в папке источнике файлов
Реализовано минимизация программы при старте
А вот с файлом помощи - пока проблема, не могу себя заставить сесть и написать.
Мой email: linbook@mail.ru