Автоматическая синхронизация. Бесплатная программа для синхронизации

Многим пользователям сегодня приходится работать не на одном, а на двух либо даже большем количестве стационарных компьютеров (как минимум, на рабочем и домашнем) - на практике это автоматически означает необходимость синхронизации всех рабочих материалов. Мобильным сотрудникам в этом плане еще сложнее, ведь им, ко всему прочему, не обойтись без портативного ПК типа ноутбука, нетбука или иной разновидности мобильного компьютера. Значит, им необходимо обеспечить синхронизацию своих файлов еще и на мобильных устройстах во избежание бесконечных проблем с версиями документов и проектов, на разрешение которых будет затрачиваться немало драгоценного времени.
Разумеется, можно регулярно вручную копировать обновленные файлы на все компьютеры - рабочий, домашний и мобильный. Однако это не лучшее решение, ведь операции копирования и перезаписи придется выполнять ежедневно. Гораздо быстрее, да и надежнее прибегнуть к синхронизации данных, воспользовавшись подходящей утилитой либо онлайновым сервисом для синхронизации файлов. Несколько подобных решений мы и рассмотрим в данной статье.

Основы синхронизации

Для синхронизации данных пользователи могут использовать как специализированные утилиты, так и веб­сервисы. И те и другие отслеживают содержимое указанных папок, расположенных в разных местах (например, на двух разных компьютерах), и синхронизируют данные в соответствии с выбранным методом.

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

Всё вышесказанное справедливо в случае применения утилит. Что касается веб­сервисов, то при синхронизации через них не требуется непосредственного соединения между собой синхронизируемых устройств, поскольку выбранные папки на компьютере или ноутбуке синхронизируются с пользовательскими данными, находящимися в онлайн-хранилище. Это подразумевает, что обновленные в ходе работы документы автоматически резервируются в подобном хранилище.

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

Программы синхронизации файлов

На рынке представлено немало утилит для синхронизации файлов - среди них есть как платные, так и бесплатные решения, причем целый ряд бесплатных продуктов обладает вполне достаточной для удовлетворения потребностей рядового пользователя функциональностью. В качестве примеров подобных утилит мы рассмотрим программы ViceVersa, GoodSync, Allway Sync и FreeFileSync.

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

Проведение синхронизации сложностей не вызывает. Сначала создают новое задание, задают в нем две папки - исходную и целевую, и при необходимости определяют условия фильтрации файлов. Затем запускают процесс анализа содержимого папок, щелкнув по кнопке Анализ . Результат сравнения данных в исходной и целевой папках отображается на экране с указанием новых, измененных и удаленных файлов (рис. 1).

Рис. 1. Результат анализа отслеживаемых папок в GoodSync

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


Рис. 2. Настройка автоматической синхронизации в GoodSync

Стоит обратить внимание на один нюанс. При автоматической синхронизации файлов на портативный накопитель (например, флэшку) может возникнуть проблема распознавания диска. Удобнее, если запуск обработки файлов начинается автоматически при подключении уникального устройства, однако любой USB-диск при подключении будет фигурировать под одной и той же буквой, что в случае вставки другой флэшки приведет к ошибкам синхронизации. Для того чтобы программа могла правильно распознать нужный диск, требуется вручную изменить путь до устройства, заменив в нем букву диска на метку тома (=VolumeName:\folder1\folder2 - рис. 3). Соответствующую метку тома для конкретного диска несложно установить в свойствах, воспользовавшись проводником Windows. Применение указанных настроек гарантирует обнаружение нужного портативного накопителя независимо от присвоенной ему буквы диска.

Рис. 3. Замена буквы диска меткой тома
в GoodSync

ViceVersa

Разработчик: TGRMN Software

Размер дистрибутива: Pro - 3,4 Мбайт; Plus - 1,1 Мбайт; Free - 708 Кбайт

Работа под управлением: ViceVersa Pro 2.5 и ViceVersa Plus 2.4.2 - Windows (все версии); ViceVersa Free 1.0.5 - Windows XP/Vista/7

Цена: Pro - 59,95 долл.; Plus - 34,95 долл.; Free - бесплатно

ViceVersa Pro - известное решение для синхронизации, резервного копирования и репликации файлов и папок (рис. 4). С его помощью можно синхронизировать данные между стационарными компьютерами, ноутбуками, файловыми серверами, внешними носителями (жесткими дисками, USB-устройствами, ZIP-дисками и пр.), NAS и т.д. Реализуется это по локальной сети, через Интернет и с применением любых внешних накопителей.


При синхронизации анализируются такие параметры, как размер файла и дата/время создания файлов, контрольные суммы либо совокупность перечисленных параметров. Предусмотрена возможность включения/исключения при анализе подкаталогов, а также отдельных файлов с учетом их атрибутов (скрытые/системные/только для чтения) и маски. Допускается синхронизация и резервное копирование открытых и заблокированных приложениями файлов, включая почтовые базы Outlook и Outlook Express, документы Word и Excel и базы данных SQL. Синхронизация данных производится вручную по требованию или в автоматическом режиме - по расписанию (например, ежедневно в строго определенное время). В целях экономии дискового пространства и обеспечения безопасности данных на любом носителе в программе предусмотрен инструментарий для сжатия и шифрования файлов.

Утилита выпускается в трех редакциях: бесплатной Free (http://www.tgrmn.com/free/) и двух коммерческих - базовой Plus и расширенной Pro. Возможности бесплатной редакции ограничены сравнением и синхронизацией файлов в папках (включая подпапки) между накопителями на гибких дисках, жесткими и сетевыми дисками, а также ZIP- и компакт­дисками; синхронизация производится вручную. Редакция Plus позволяет работать с USB-накопителями, жесткими и сетевыми дисками, а также DVD/CD, обеспечивает возможность синхронизации/резервирования открытых/заблокированных файлов и может быть настроена на работу по расписанию. В редакции Pro поддерживается весь заявленный разработчиками функционал.

GoodSync 8.8.6

Разработчик: Siber Systems, Inc.

Размер дистрибутива: 7,15 Мбайт

Работа под управлением: Windows 2000/XP/Vista/7

Цена: 29,95 долл.

GoodSync - удобный и простой инструмент для синхронизации и резервного копирования файлов (рис. 5). Программа позволяет синхронизировать файлы между настольными и переносными компьютерами, съемными дисками и серверами, а также проводить резервное копирование важных данных на различные носители (включая FTP- и WebDAV-серверы). Кроме того, предусмотрена возможность синхронизации файлов между устройствами Windows Mobile Phone или Pocket PC (Windows CE) и настольным компьютером. Синхронизация может проводиться напрямую между компьютерами (в локальной сети или через Интернет с FTP-, WebDAV- и Secure FTP-серверов) либо с подключением любых внешних накопителей (USB-диска, внешнего HDD).


Анализ данных проводится с учетом даты/времени модификации файлов или их размера. В ходе анализа автоматически игнорируются скрытые и системные файлы, можно настроить включение/исключение файлов с именами, соответствующими определенной маске, а также файлов определенного размера или с определенным временем изменения. Возможна синхронизация заблокированных файлов с применением службы Volume Shadow Copy. Для автоматизации процесса синхронизации включен инструментарий для запуска синхронизации по расписанию, а также при наступлении определенных событий (например, при подключении компьютера к локальной сети, при подключении съемного диска к компьютеру или при запуске системы) допускается применение планировщика Windows. В целях повышения безопасности при удаленной синхронизации данных реализована передача файлов по шифрованному каналу (FTP через SSH и WebDAV через SSL), а при резервном копировании возможно использование шифрованной файловой системы EFS (Encrypting File System).

Программа имеет демо-версию, которая полностью функциональна в течение 30 дней. В дальнейшем она может применяться домашними пользователями и некоммерческими структурами совершенно бесплатно, но с ограничениями - разрешается создавать до трех заданий синхронизации, включающих не более ста файлов. Имеется специальная портативная редакция утилиты - она фигурирует под названием GoodSync2Go и предназначена для установки на USB-диски.

Allway Sync 11.6.1

Разработчик : Botkind, Inc.

Размер дистрибутива: 6,9 Мбайт

Работа под управлением: Windows 2000/XP/2003/Vista/2008/7

Цена: зависит от лицензии: Pro - 29,99 долл.; Free - бесплатно (только для некоммерческого использования)

Allway Sync - простая в применении утилита, предназначенная для синхронизации и резервирования файлов в папках (рис. 6). Программа обеспечивает синхронизацию данных между настольными ПК, ноутбуками, внешними жесткими дисками, USB-дисками, FTP/SFTP-серверами и различными онлайновыми хранилищами данных. Анализ информации и ее обновление производятся по локальной сети, через Интернет и посредством внешних накопителей (флэшек, внешних жестких дисков и т.д.).


Последние версии файлов выявляются на основе комбинации атрибутов файла, его размера и времени создания. В целях сужения перечня анализируемых файлов допускается включение/исключение объектов синхронизации с учетом места нахождения файла, имени и атрибутов (только включение/исключение скрытых/системных файлов). Синхронизация может проводиться по требованию и автоматически - через определенный промежуток времени, при подключении съемного устройства, при простое компьютера и др.; возможно использование планировщика задач Windows.

Программа предлагается в двух редакциях: бесплатной Free и коммерческой Pro. Бесплатная редакция позволяет синхронизировать не более 40 тыс. файлов в 30-дневный срок. Имеется специальная портативная редакция утилиты, предназначенная для установки на флэшку или внешний HDD.

FreeFileSync 4.2

Разработчик: ZenJu

Размер дистрибутива: 9,27 Мбайт

Работа под управлением: Windows 2000/XP/Vista/7

Цена: бесплатно

FreeFileSync - бесплатная утилита, предназначенная для сравнения и синхронизации файлов между компьютерами и съемными дисками (рис. 7). Анализ файлов проводится с учетом даты и размера. При сравнении данных по умолчанию игнорируются каталоги «\RECYCLER» и «\ System Volume Information», предусмотрена также возможность включения/исключения отдельных файлов с учетом даты, размера и имени. Возможно копирование заблокированных файлов с применением Windows Volume Shadow Copy Service. Имеется инструментарий для создания пакетных заданий, запуск которых можно автоматизировать через планировщик Windows.


Утилита распространяется по лицензии GNU GPL, а ее установка возможна в двух вариантах: стационарном (на локальный компьютер пользователя) и портативном (например, на флэш­диск).

Сервисы для синхронизации файлов

Сервисов, предназначенных для синхронизации файлов, в Сети представлено немало. Часть из них позиционируется в качестве онлайновых хранилищ с возможностью проведения синхронизации, другие предназначены специально для синхронизации. Мы остановимся на двух наиболее популярных синхронизирующих сервисах - SugarSync и Dropbox, которые по предоставляемым возможностям значительно опережают своих конкурентов.

В отличие от утилит, сервисы требуют гораздо больше времени на анализ данных и их синхронизацию. Разница во времени, конечно, относительна и определяется конкретными условиями работы в Интернете и объемом синхронизируемой информации - разумеется, при низкой скорости соединения операция может производиться очень долго. Поэтому данный способ представляет интерес лишь в случае наличия постоянного высокоскоростного подключения к Сети. Зато сервисы обладают всем необходимым функционалом для получения доступа к документам с самых разных устройств, имеющих доступ к Интернету, в любом месте (дома, в офисе, в командировке и т.д.) и в любое время, что весьма актуально для мобильных пользователей. Более того, при необходимости можно получить доступ к своим документам даже с чужого компьютера, ведь отслеживаемые файлы не только синхронизируются на все указанные пользователем устройства, но и резервируются в онлайновом хранилище. И это еще не всё - применение подобных сервисов существенно упрощает обмен файлами. Это значит, что вы без особого труда сможете обмениваться документами с другими сотрудниками компании, работающим над тем же проектом, а также снимками и иными материалами с родными и друзьями.

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

В техническом плане никаких трудностей применение сервисов не вызывает. Вначале на соответствующем ресурсе нужно завести свой аккаунт, затем скачать программу­клиент и установить ее - клиент, разумеется, устанавливается на каждом компьютере, на котором требуется синхронизировать данные (с указанием одного и того же логина/пароля). По окончании требуется настроить параметры синхронизации; в ряде сервисов это может производиться уже в ходе установки сервисного клиента. Под настройкой понимается указание папок, которые в дальнейшем нужно будет синхронизировать между устройствами, возможно, потребуется определить еще какие­то параметры. Например, в SugarSync нужно выбрать имя и иконку для быстрой идентификации компьютера и только потом указать необходимые папки (рис. 8). После этого производится загрузка данных на удаленный сервер - то есть, по сути, их резервное копирование.


Рис. 8. Настройка клиента в SugarSync

Дальнейшие действия зависят от выбранного сервиса. Так, на SugarSync нужно дополнительно указать через модуль Manage Sync Folders, между какими устройствами должна производиться синхронизация папок (рис. 9). В Dropbox необходимости в подобной операции нет, но на этом сервисе придется регулярно копировать синхронизируемые данные в папку Мои документы\Dropbox (эта папка на компьютере пользователя создается автоматически при установке программы­клиента). После проведения настроек содержимое папок (указанных пользователем в случае сервиса SugarSync и папки Dropbox при использовании одноименного сервиса) будет автоматически синхронизироваться с соответствующими онлайновыми серверами в обе стороны через Интернет. В итоге все синхронизируемые устройства всегда будут иметь последние версии отслеживаемых файлов. При необходимости получить доступ к этим файлам можно будет не только с синхронизируемых устройств, но и в онлайн-хранилище - через веб­интерфейс (рис. 10).


Рис. 9. Определение синхронизируемых папок в SugarSync


Рис. 10. Доступ в онлайн-хранилище SugarSync через веб-интерфейс

Оба названных сервиса могут применяться для автоматической синхронизации разнообразных персональных файлов (документов, снимков, музыки и т.д.) и позволяют синхронизировать информацию между двумя и более компьютерами и разнообразными мобильными устройствами. Что касается поддерживаемых настольных операционных систем, то у SugarSync имеются клиенты для Windows и Mac OS X (см. таблицу), а вот Dropbox поддерживает еще и Linux. Сервисы SugarSync и Dropbox предлагают комплекс весьма привлекательных (особенно у SugarSync) тарифных планов и обеспечивают возможность бесплатного пользования с объемом дискового пространства 5 и 2 Гбайт у SugarSync и Dropbox соответственно. Ряду пользователей для синхронизации документов будет вполне достаточно бесплатного аккаунта.

Стоит заметить, что больший объем бесплатно предоставляемого пространства и более широкая поддержка мобильных платформ - это не единственные преимущества сервиса SugarSync. В плане функциональности он также более интересен - например в нем удобнее организована работа с синхронизируемыми папками и файлами, лучше реализована система контроля версий, возможна защита расшаренных папок паролем и др. Кроме того, сервис позволяет редактировать документы в онлайне (редактируемые файлы открываются на компьютере пользователя в ассоциированных с ними приложениях, а затем сохраняются в онлайновом хранилище) - значит, можно начать работу над документом на офисном компьютере и завершить ее на домашнем ПК. Вместе с тем сервис Dropbox отличается от SugarSync заметно большей скоростью загрузки и синхронизации, да и гораздо проще в настройке и применении.

Заключение

Мы рассмотрели два различных варианта автоматической синхронизации файлов - с помощью синхронизирующих утилит и через онлайновые сервисы синхронизации данных. Выбор наиболее предпочтительного из вариантов оставляем за пользователем, поскольку тут всё весьма индивидуально. Утилиты привлекательнее с позиции скорости и возможности тонкой настройки параметров синхронизации, включая обработку строго выбранных типов данных. В свою очередь, сервисы обеспечивают доступ к актуальным версиям файлов практически с любого устройства, имеющего доступ к Интернету. Настроив какое­либо из рассмотренных решений, можно легко и просто выполнить синхронизацию рабочих файлов и полностью исключить путаницу с разными версиями одних и тех же документов, что очень часто имеет место при работе на нескольких компьютерах.

Синхронизация по сети

Логика подсказывает, что самый безопасный путь работы с документом проявляется тогда, когда документ с нуля и до конца создается на отдельном компьютере. Скажем, документ Текст.doc. На практике редко стоит рассчитывать на такой способ, так как с некоторыми документами приходится работать в офисе и даже в поездках. В результате правок, фактически, получаются три документа, при этом даже собственная память не всегда может подсказать, какая версия из них была последней, тем более, что четвертая копия может тоже активно изменяться в «облаке». Даты создания и доступа к файлу – неточные показатели, так как на разных машинах время может отличаться от эталонного. Могут отличаться и операционные системы, и редакторы, вследствие чего расширенная версия файла может стать меньше по размеру, что сбивает с толку. К примеру, автор неоднократно переносил на дискетах программы для цехового компьютера, на котором приходилось править эти программы. Из-за проблем с аккумулятором операторы не выставляли правильную дату, так что измененный файл вечно датировался 1 января 1980 года. Понятно, что автоматическая синхронизация файлов на компьютере немедленно бы заменила новый файл старой версией, что катастрофически неверно. Таким образом, большинство современных программ синхронизации предпочитают работать не с физическими папками, а логическими, где для файлов можно подготовить метатеги истории их создания и редактирования.

В простейшем случае такие программы, как Total Commander, действуют так: сначала в разных папках выделяются файлы, имеющие одинаковые имена, затем файлы проверяются физически. После этого на компьютере Б полностью совпадающие файлы удаляются и заменяются всеми оставшимися с компьютера А данной папки. И даже при этом программа задает кучу вопросов насчет удаления данных.

Если вы и сейчас не прочувствовали сложность вопроса, то представьте себе, что вы скопировали из телефона список контактов на компьютер, где и синхронизировали его. Затем удалили в компьютерном списке одну запись. Что должно произойти – эта запись должна удалиться в телефоне, или же с телефона она должна скопироваться заново? Впору запутаться. В эпоху СМ ЭВМ в ОС RSX, помнится, для текстовых документов редактор автоматически устанавливал версии, записывая их после имени файла – ;1, ;2 и т.д. Это немного помогало с анализом изменений, но для файлов других типов такое не годится.

Такое долгое вступление было необходимо из-за того, что нужно четко понимать: безукоризненные программы синхронизации по сети в природе не существуют – слишком много факторов им приходится учитывать. Конечно, поиск даст большой разрекламированный их список, но большинство из них работать не будут. И, кстати, многие иностранные программы не будут корректно работать с файлами, содержащими в имени кириллицу. Ситуацию осложняет еще и то, что многие программисты слишком самонадеянно позиционируют свои поделки как Pro-версии, требуя деньги, но при этом не доводят качество программ до кондиции.

Конечно, вы можете прямо сейчас скачать всякие утилиты вроде SmartSync Pro, Active File Compare, SameDir, Beyond Compare, Zsync, Compare and Merge и многие другие, но счастья они вам не добавят. Хуже всего, что в простейших случаях синхронизация физических папок будет идти успешно, но при нестандартной ситуации нужные файлы будут пропущены или удалены.

Тем не менее, грустить не нужно, и более-менее хорошие программы все же есть. К примеру, программа Groove 2010 – часть технологии Microsoft SharePoint, имеющая неплохие отзывы. Синхронизация обеспечивается за счет поддержки логических папок, где каждому файлу соответствуют метаданные. В более простых случаях используются привычные автономные утилиты. Так, неплохим рейтингом обладает программа ViceVersa. Рекомендуем ознакомиться со статьей на digest.subscribe.ru/inet/review/n910694942.html, где рассмотрены 4 неплохих программы, но лишь одна из них (Allway Sync) является бесплатной. Комментарии к статье добавили уверенности относительно других мнений, поэтому не ошибемся, если порекомендуем внимательно изучить следующие пакеты: Sync Toy, PureSync, PowerFolder, FreeFile Sync, SynchronEx, Dropbox, SyncForce Pro, Dsynchronize, BestSync. Вероятно, не все они будут работать идеально, но они хотя бы прошли проверку временем. Большая часть из них будет бесполезна при работе с сайтами и Интернетом в целом, зато в случае локальных данных вопросов точно не будет. В частности, вы всегда сможете синхронизировать папки на картах памяти мобильных устройств, флешек, сетевых устройств и папок на компьютере. В качестве небольшого теоретического материала – читайте forum.ru-board.com/topic.cgi?forum=5&topic=4124&start=0, где есть много ценной информации.

И Microsoft. Использовать их невероятно удобно, но кое-что все настораживает. Кроме того, что файлы синхронизируются между устройствами пользователя, они также сохраняются на удаленном сервере. Это означает, что теоретически к ним могут получить доступ другие люди, будь то хакеры, сотрудники веб-сервиса или представители правоохранительных органов.

Однако оказаться от синхронизации данных не так-то просто - слишком уж удобно начинать работу над документом на одном компьютере, а продолжать - на другом, не задумываясь о том, где сейчас последняя копия, и была ли она переписана на флешку. К счастью, существуют решения для синхронизации информации, которые копируют файлы и папки только между пользовательскими компьютерами, не создавая копий на удаленном сервере. Кроме того, что копия данных не хранится где-то «у дяди», у подобных программ есть и другие преимущества, главным из которых можно считать то, что объем передаваемой информации ограничен только емкостью жесткого диска. Впрочем, с помощью многих программ для синхронизации при желании можно создавать копии не только на локальных и сетевых дисках, но и держать дополнительную копию в «облаке».

PureSync - это бесплатное решение для синхронизации, позволяющее создавать резервные копии данных на локальном компьютере, сетевых дисках или же на удаленном FTP-сервере. Программа поддерживает несколько типов заданий: обычное резервное копирование, синхронизация данных между двумя папками, автоматический импорт фотографий с камеры в определенную папку и перенос пользовательских файлов с одного компьютера на другой. Последнее предполагает перенос файлов, относящихся к различным приложениям, а также хранящихся в стандартных папках (Мои документы, Мои рисунки и пр.). Посредником в этом процессе может выступать или внешний накопитель, или FTP-сервер. Особенность такого переноса в том, что даже если на компьютере-адресате установлена другая операционная система, все пользовательские папки и файлы будут скопированы в соответствующие системные директории.

Настройка PureSync организована в виде мастера. Например, при выборе задания синхронизации пользователю предлагается выбрать исходную и конечную папки, указать, нужно ли обращать внимание на вложенные папки и если да, то на сколько уровней. Также есть интересная функция, позволяющая создавать в папке адресате новые директории с копиями файлов. При этом названия для этих папок будут даваться автоматически и включать текущую дату и время. При синхронизации данных особое внимание уделяется удаленным файлам. Пользователь может указать, нужно ли удалять файлы в папке 2, если они были удалены в папке 1, и наоборот. Также можно задать задержку удаления в минутах. В этом случае всегда будет время на то, чтобы вернуть случайно утраченные данные. Как вариант можно не переносить удаленные файлы в корзину, а скопировать их в другую папку, указанную в настройках. PureSync также дает возможность настроить автоматическое удаление тех файлов, которые были созданы давно или не изменялись в течение определенного времени. Это может быть удобно для очистки лог-файлов и других подобных типов данных.

В PureSync хорошо реализована поддержка фильтров. В настройках программы можно вручную указывать, какие файлы нужно синхронизировать, а какие - нет. Также задаются папки-исключения. Синхронизация может выполняться в ручном режиме, а также автоматически, при соблюдении одного из условий. Например, при изменении файла, при подключении внешнего диска, когда компьютер находится в режиме простоя, при запуске системы или при выходе из нее, при выключении компьютера или при выходе из программы. Кроме этого, есть возможность составить расписание синхронизации, указав определенное время суток и периодичность. Во избежание удаления каких-либо файлов программа в заданное время может не выполнять синхронизацию, а лишь сравнивать папки и выдавать результат анализа, давая пользователю возможность самому скопировать нужные файлы и папки.

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

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

Стоит иметь в виду, что программа хранит параметры всех заданий синхронизации и резервного копирования в файле с расширением PSY. Для них тоже стоит создать резервную копию на случай переустановки системы. При наличии такого файла на повторную настройку программы тратить время не придется.

Allway Sync - это еще одна программа, которой можно совершенно бесплатно пользоваться в личных целях. Утилита предлагает достаточно большой выбор мест для синхронизации. Кроме возможности создания копии файлов в другой папке локального компьютера, на сетевом ресурсе, внешнем накопителе, DVD-диске, FTP или SFTP-сервере, Allway Sync дает возможность сохранять данные на разных «облачных» хранилищах. Поддерживаются популярные сервисы Dropbox, Skydrive, Google Docs, Amazon S3, Windows Azure, Amazon Cloud Drive, а также менее известные iKeepingCloud и OffsiteBox. Также стоит отметить поддержку Microsoft ActiveSync, протокола WebDAV, по которому, в частности, можно настроить синхронизацию с сервисом Яндекс.Диск. При помощи Allway Sync можно также создать обычный или зашифрованный архив с данными.

Все действия в программе выполняются в главном окне. Задания представлены в виде вкладок. На каждом нужно выбрать исходную и конечную папки для синхронизации, настроить параметры задания (например, выбрать папку или ввести данные для авторизации на «облачном» сервере). По умолчанию синхронизация является двусторонней, но одним щелчком мыши можно изменить ее направление, а также поменять параметры удаления файлов и переноса изменений файлов из одной папки в другую. Для упрощения настройки новых заданий их можно создавать на основе уже существующих и затем вносить необходимые изменения в настройки.

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


В Allway Sync особое внимание уделено безопасности. Программа может архивировать и шифровать все файлы, которые копируются между двумя источниками. Если файлы только сжимаются, это экономит место, а шифрование помогает сделать их недосягаемыми для недоброжелателей. При сохранении в Google Docs файлы Word, Excel и PowerPoint могут автоматически преобразовываться в формат Google. Благодаря этому они становятся доступными для редактирования онлайн.

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

Время изменения файлов может различаться после перехода на зимнее или летнее время. Для корректной обработки файлов в настройках Allway Sync можно установить игнорирование часовой разницы во времени модификации. Еще одна интересная настройка касается работы с внешними дисками. Установите флажок в чекбоксе «Привязка к настройкам съемного накопителя», и программа будет корректно себя вести даже в том случае, если при следующем подключении диска ему будет присвоена другая буква.

Если в одной из синхронизируемых папок пользователь удалил файлы, Allway Sync не обязательно будет удалять их и во второй тоже. Программа может переместить такие файлы в определенную пользователем директорию или же в папку _SYNCAPP, из которой их всегда можно будет восстановить из интерфейса программы. Кроме этого, доступно перемещение в Корзину и безвозвратное удаление. Также множество настроек доступно для измененных файлов. Их старые версии могут или перемещаться в корзину, или удаляться, или перемещаться в папку _SYNCAPP с возможностью последующего восстановления. Старые версии могут храниться как угодно долго, а также в течение определенного времени или указанное количество синхронизаций.

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

Allway Sync может автоматически обрабатывать некоторые виды ошибок, возникающих при синхронизации. Среди них ошибки доступа, сети, отсутствия устройства. Если программа фиксирует конфликт версий (когда файл был изменен с обеих сторон), файл, который должен быть удален или существенные различия между папками, она может выводить предупреждения, приостанавливать работу или исключать такие файлы из задания.

Заключение

Каждое из рассмотренных решений синхронизации имеет свои преимущества. Например, Allway Sync и GoodSync поддерживают «облачные» сервисы. Allway Sync при этом предлагает еще и шифрование данных, поэтому о безопасности файлов в «облаке» можно не беспокоиться. Впрочем, и у GoodSync есть свой «конек» - возможность прямой синхронизации данных между двумя любыми компьютерами, минуя сервер и локальную сеть. Что же касается PureSync, то эта программа может, в частности, пригодиться, когда нужно перенести данные на новый компьютер или скопировать информацию из пользовательских системных папок перед переустановкой системы. Также ее можно использовать как бесплатное решение для резервного копирования в домашней локальной сети.

Сергей и Марина Бондаренко
Написано для журнала CHIP

Многим пользователям сегодня приходится работать не на одном, а на двух либо даже большем количестве стационарных компьютеров (как минимум, на рабочем и домашнем) - на практике это автоматически означает необходимость синхронизации всех рабочих материалов. Мобильным сотрудникам в этом плане еще сложнее, ведь им, ко всему прочему, не обойтись без портативного ПК типа ноутбука, нетбука или иной разновидности мобильного компьютера. Значит, им необходимо обеспечить синхронизацию своих файлов еще и на мобильных устройстах во избежание бесконечных проблем с версиями документов и проектов, на разрешение которых будет затрачиваться немало драгоценного времени.
Разумеется, можно регулярно вручную копировать обновленные файлы на все компьютеры - рабочий, домашний и мобильный. Однако это не лучшее решение, ведь операции копирования и перезаписи придется выполнять ежедневно. Гораздо быстрее, да и надежнее прибегнуть к синхронизации данных, воспользовавшись подходящей утилитой либо онлайновым сервисом для синхронизации файлов. Несколько подобных решений мы и рассмотрим в данной статье.

Основы синхронизации

Для синхронизации данных пользователи могут использовать как специализированные утилиты, так и веб­сервисы. И те и другие отслеживают содержимое указанных папок, расположенных в разных местах (например, на двух разных компьютерах), и синхронизируют данные в соответствии с выбранным методом.

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

Всё вышесказанное справедливо в случае применения утилит. Что касается веб­сервисов, то при синхронизации через них не требуется непосредственного соединения между собой синхронизируемых устройств, поскольку выбранные папки на компьютере или ноутбуке синхронизируются с пользовательскими данными, находящимися в онлайн-хранилище. Это подразумевает, что обновленные в ходе работы документы автоматически резервируются в подобном хранилище.

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

Программы синхронизации файлов

На рынке представлено немало утилит для синхронизации файлов - среди них есть как платные, так и бесплатные решения, причем целый ряд бесплатных продуктов обладает вполне достаточной для удовлетворения потребностей рядового пользователя функциональностью. В качестве примеров подобных утилит мы рассмотрим программы ViceVersa, GoodSync, Allway Sync и FreeFileSync.

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

Проведение синхронизации сложностей не вызывает. Сначала создают новое задание, задают в нем две папки - исходную и целевую, и при необходимости определяют условия фильтрации файлов. Затем запускают процесс анализа содержимого папок, щелкнув по кнопке Анализ . Результат сравнения данных в исходной и целевой папках отображается на экране с указанием новых, измененных и удаленных файлов (рис. 1).

Рис. 1. Результат анализа отслеживаемых папок в GoodSync

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


Рис. 2. Настройка автоматической синхронизации в GoodSync

Стоит обратить внимание на один нюанс. При автоматической синхронизации файлов на портативный накопитель (например, флэшку) может возникнуть проблема распознавания диска. Удобнее, если запуск обработки файлов начинается автоматически при подключении уникального устройства, однако любой USB-диск при подключении будет фигурировать под одной и той же буквой, что в случае вставки другой флэшки приведет к ошибкам синхронизации. Для того чтобы программа могла правильно распознать нужный диск, требуется вручную изменить путь до устройства, заменив в нем букву диска на метку тома (=VolumeName:\folder1\folder2 - рис. 3). Соответствующую метку тома для конкретного диска несложно установить в свойствах, воспользовавшись проводником Windows. Применение указанных настроек гарантирует обнаружение нужного портативного накопителя независимо от присвоенной ему буквы диска.

Рис. 3. Замена буквы диска меткой тома
в GoodSync

ViceVersa

Разработчик: TGRMN Software

Размер дистрибутива: Pro - 3,4 Мбайт; Plus - 1,1 Мбайт; Free - 708 Кбайт

Работа под управлением: ViceVersa Pro 2.5 и ViceVersa Plus 2.4.2 - Windows (все версии); ViceVersa Free 1.0.5 - Windows XP/Vista/7

Цена: Pro - 59,95 долл.; Plus - 34,95 долл.; Free - бесплатно

ViceVersa Pro - известное решение для синхронизации, резервного копирования и репликации файлов и папок (рис. 4). С его помощью можно синхронизировать данные между стационарными компьютерами, ноутбуками, файловыми серверами, внешними носителями (жесткими дисками, USB-устройствами, ZIP-дисками и пр.), NAS и т.д. Реализуется это по локальной сети, через Интернет и с применением любых внешних накопителей.


При синхронизации анализируются такие параметры, как размер файла и дата/время создания файлов, контрольные суммы либо совокупность перечисленных параметров. Предусмотрена возможность включения/исключения при анализе подкаталогов, а также отдельных файлов с учетом их атрибутов (скрытые/системные/только для чтения) и маски. Допускается синхронизация и резервное копирование открытых и заблокированных приложениями файлов, включая почтовые базы Outlook и Outlook Express, документы Word и Excel и базы данных SQL. Синхронизация данных производится вручную по требованию или в автоматическом режиме - по расписанию (например, ежедневно в строго определенное время). В целях экономии дискового пространства и обеспечения безопасности данных на любом носителе в программе предусмотрен инструментарий для сжатия и шифрования файлов.

Утилита выпускается в трех редакциях: бесплатной Free (http://www.tgrmn.com/free/) и двух коммерческих - базовой Plus и расширенной Pro. Возможности бесплатной редакции ограничены сравнением и синхронизацией файлов в папках (включая подпапки) между накопителями на гибких дисках, жесткими и сетевыми дисками, а также ZIP- и компакт­дисками; синхронизация производится вручную. Редакция Plus позволяет работать с USB-накопителями, жесткими и сетевыми дисками, а также DVD/CD, обеспечивает возможность синхронизации/резервирования открытых/заблокированных файлов и может быть настроена на работу по расписанию. В редакции Pro поддерживается весь заявленный разработчиками функционал.

GoodSync 8.8.6

Разработчик: Siber Systems, Inc.

Размер дистрибутива: 7,15 Мбайт

Работа под управлением: Windows 2000/XP/Vista/7

Цена: 29,95 долл.

GoodSync - удобный и простой инструмент для синхронизации и резервного копирования файлов (рис. 5). Программа позволяет синхронизировать файлы между настольными и переносными компьютерами, съемными дисками и серверами, а также проводить резервное копирование важных данных на различные носители (включая FTP- и WebDAV-серверы). Кроме того, предусмотрена возможность синхронизации файлов между устройствами Windows Mobile Phone или Pocket PC (Windows CE) и настольным компьютером. Синхронизация может проводиться напрямую между компьютерами (в локальной сети или через Интернет с FTP-, WebDAV- и Secure FTP-серверов) либо с подключением любых внешних накопителей (USB-диска, внешнего HDD).


Анализ данных проводится с учетом даты/времени модификации файлов или их размера. В ходе анализа автоматически игнорируются скрытые и системные файлы, можно настроить включение/исключение файлов с именами, соответствующими определенной маске, а также файлов определенного размера или с определенным временем изменения. Возможна синхронизация заблокированных файлов с применением службы Volume Shadow Copy. Для автоматизации процесса синхронизации включен инструментарий для запуска синхронизации по расписанию, а также при наступлении определенных событий (например, при подключении компьютера к локальной сети, при подключении съемного диска к компьютеру или при запуске системы) допускается применение планировщика Windows. В целях повышения безопасности при удаленной синхронизации данных реализована передача файлов по шифрованному каналу (FTP через SSH и WebDAV через SSL), а при резервном копировании возможно использование шифрованной файловой системы EFS (Encrypting File System).

Программа имеет демо-версию, которая полностью функциональна в течение 30 дней. В дальнейшем она может применяться домашними пользователями и некоммерческими структурами совершенно бесплатно, но с ограничениями - разрешается создавать до трех заданий синхронизации, включающих не более ста файлов. Имеется специальная портативная редакция утилиты - она фигурирует под названием GoodSync2Go и предназначена для установки на USB-диски.

Allway Sync 11.6.1

Разработчик : Botkind, Inc.

Размер дистрибутива: 6,9 Мбайт

Работа под управлением: Windows 2000/XP/2003/Vista/2008/7

Цена: зависит от лицензии: Pro - 29,99 долл.; Free - бесплатно (только для некоммерческого использования)

Allway Sync - простая в применении утилита, предназначенная для синхронизации и резервирования файлов в папках (рис. 6). Программа обеспечивает синхронизацию данных между настольными ПК, ноутбуками, внешними жесткими дисками, USB-дисками, FTP/SFTP-серверами и различными онлайновыми хранилищами данных. Анализ информации и ее обновление производятся по локальной сети, через Интернет и посредством внешних накопителей (флэшек, внешних жестких дисков и т.д.).


Последние версии файлов выявляются на основе комбинации атрибутов файла, его размера и времени создания. В целях сужения перечня анализируемых файлов допускается включение/исключение объектов синхронизации с учетом места нахождения файла, имени и атрибутов (только включение/исключение скрытых/системных файлов). Синхронизация может проводиться по требованию и автоматически - через определенный промежуток времени, при подключении съемного устройства, при простое компьютера и др.; возможно использование планировщика задач Windows.

Программа предлагается в двух редакциях: бесплатной Free и коммерческой Pro. Бесплатная редакция позволяет синхронизировать не более 40 тыс. файлов в 30-дневный срок. Имеется специальная портативная редакция утилиты, предназначенная для установки на флэшку или внешний HDD.

FreeFileSync 4.2

Разработчик: ZenJu

Размер дистрибутива: 9,27 Мбайт

Работа под управлением: Windows 2000/XP/Vista/7

Цена: бесплатно

FreeFileSync - бесплатная утилита, предназначенная для сравнения и синхронизации файлов между компьютерами и съемными дисками (рис. 7). Анализ файлов проводится с учетом даты и размера. При сравнении данных по умолчанию игнорируются каталоги «\RECYCLER» и «\ System Volume Information», предусмотрена также возможность включения/исключения отдельных файлов с учетом даты, размера и имени. Возможно копирование заблокированных файлов с применением Windows Volume Shadow Copy Service. Имеется инструментарий для создания пакетных заданий, запуск которых можно автоматизировать через планировщик Windows.


Утилита распространяется по лицензии GNU GPL, а ее установка возможна в двух вариантах: стационарном (на локальный компьютер пользователя) и портативном (например, на флэш­диск).

Сервисы для синхронизации файлов

Сервисов, предназначенных для синхронизации файлов, в Сети представлено немало. Часть из них позиционируется в качестве онлайновых хранилищ с возможностью проведения синхронизации, другие предназначены специально для синхронизации. Мы остановимся на двух наиболее популярных синхронизирующих сервисах - SugarSync и Dropbox, которые по предоставляемым возможностям значительно опережают своих конкурентов.

В отличие от утилит, сервисы требуют гораздо больше времени на анализ данных и их синхронизацию. Разница во времени, конечно, относительна и определяется конкретными условиями работы в Интернете и объемом синхронизируемой информации - разумеется, при низкой скорости соединения операция может производиться очень долго. Поэтому данный способ представляет интерес лишь в случае наличия постоянного высокоскоростного подключения к Сети. Зато сервисы обладают всем необходимым функционалом для получения доступа к документам с самых разных устройств, имеющих доступ к Интернету, в любом месте (дома, в офисе, в командировке и т.д.) и в любое время, что весьма актуально для мобильных пользователей. Более того, при необходимости можно получить доступ к своим документам даже с чужого компьютера, ведь отслеживаемые файлы не только синхронизируются на все указанные пользователем устройства, но и резервируются в онлайновом хранилище. И это еще не всё - применение подобных сервисов существенно упрощает обмен файлами. Это значит, что вы без особого труда сможете обмениваться документами с другими сотрудниками компании, работающим над тем же проектом, а также снимками и иными материалами с родными и друзьями.

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

В техническом плане никаких трудностей применение сервисов не вызывает. Вначале на соответствующем ресурсе нужно завести свой аккаунт, затем скачать программу­клиент и установить ее - клиент, разумеется, устанавливается на каждом компьютере, на котором требуется синхронизировать данные (с указанием одного и того же логина/пароля). По окончании требуется настроить параметры синхронизации; в ряде сервисов это может производиться уже в ходе установки сервисного клиента. Под настройкой понимается указание папок, которые в дальнейшем нужно будет синхронизировать между устройствами, возможно, потребуется определить еще какие­то параметры. Например, в SugarSync нужно выбрать имя и иконку для быстрой идентификации компьютера и только потом указать необходимые папки (рис. 8). После этого производится загрузка данных на удаленный сервер - то есть, по сути, их резервное копирование.


Рис. 8. Настройка клиента в SugarSync

Дальнейшие действия зависят от выбранного сервиса. Так, на SugarSync нужно дополнительно указать через модуль Manage Sync Folders, между какими устройствами должна производиться синхронизация папок (рис. 9). В Dropbox необходимости в подобной операции нет, но на этом сервисе придется регулярно копировать синхронизируемые данные в папку Мои документы\Dropbox (эта папка на компьютере пользователя создается автоматически при установке программы­клиента). После проведения настроек содержимое папок (указанных пользователем в случае сервиса SugarSync и папки Dropbox при использовании одноименного сервиса) будет автоматически синхронизироваться с соответствующими онлайновыми серверами в обе стороны через Интернет. В итоге все синхронизируемые устройства всегда будут иметь последние версии отслеживаемых файлов. При необходимости получить доступ к этим файлам можно будет не только с синхронизируемых устройств, но и в онлайн-хранилище - через веб­интерфейс (рис. 10).


Рис. 9. Определение синхронизируемых папок в SugarSync


Рис. 10. Доступ в онлайн-хранилище SugarSync через веб-интерфейс

Оба названных сервиса могут применяться для автоматической синхронизации разнообразных персональных файлов (документов, снимков, музыки и т.д.) и позволяют синхронизировать информацию между двумя и более компьютерами и разнообразными мобильными устройствами. Что касается поддерживаемых настольных операционных систем, то у SugarSync имеются клиенты для Windows и Mac OS X (см. таблицу), а вот Dropbox поддерживает еще и Linux. Сервисы SugarSync и Dropbox предлагают комплекс весьма привлекательных (особенно у SugarSync) тарифных планов и обеспечивают возможность бесплатного пользования с объемом дискового пространства 5 и 2 Гбайт у SugarSync и Dropbox соответственно. Ряду пользователей для синхронизации документов будет вполне достаточно бесплатного аккаунта.

Стоит заметить, что больший объем бесплатно предоставляемого пространства и более широкая поддержка мобильных платформ - это не единственные преимущества сервиса SugarSync. В плане функциональности он также более интересен - например в нем удобнее организована работа с синхронизируемыми папками и файлами, лучше реализована система контроля версий, возможна защита расшаренных папок паролем и др. Кроме того, сервис позволяет редактировать документы в онлайне (редактируемые файлы открываются на компьютере пользователя в ассоциированных с ними приложениях, а затем сохраняются в онлайновом хранилище) - значит, можно начать работу над документом на офисном компьютере и завершить ее на домашнем ПК. Вместе с тем сервис Dropbox отличается от SugarSync заметно большей скоростью загрузки и синхронизации, да и гораздо проще в настройке и применении.

Заключение

Мы рассмотрели два различных варианта автоматической синхронизации файлов - с помощью синхронизирующих утилит и через онлайновые сервисы синхронизации данных. Выбор наиболее предпочтительного из вариантов оставляем за пользователем, поскольку тут всё весьма индивидуально. Утилиты привлекательнее с позиции скорости и возможности тонкой настройки параметров синхронизации, включая обработку строго выбранных типов данных. В свою очередь, сервисы обеспечивают доступ к актуальным версиям файлов практически с любого устройства, имеющего доступ к Интернету. Настроив какое­либо из рассмотренных решений, можно легко и просто выполнить синхронизацию рабочих файлов и полностью исключить путаницу с разными версиями одних и тех же документов, что очень часто имеет место при работе на нескольких компьютерах.

Чтение каталога осуществляется по команде get-childitem. Чтобы учитывались вложенные папки, к ней добавляется опция -recurse, а чтобы отличать файлы от папок, используется функция PSIsContainer (). Если она возвращает значение True, то элемент - папка, в ином случае - обычный файл:

$source = ¨c:files¨

$srcfolder = get-childitem $source -recurse | where-object {$_.psiscontainer}

$srcfiles = get-childitem $source -recurse | where-object {!$_.pciscontainer}

Для решения нашей несложной задачи потребуются четыре списка: первые два содержат исходные файлы и папки, а два оставшихся - итоговые файлы и папки. Процесс синхронизации сводится к перебору этих списков и копированию файлов из одной папки в другую.

В первом цикле проверяется, существуют ли в папке для резервного хранения исходные каталоги, и если их еще нет, то они создаются посредством команды new-item.

foreach ($folder in $srcfolders)

$srcpath = $source -replace ¨\¨,¨\¨ -replace ¨:¨,¨:¨

$dstpath = $folder.fullname -replace $srcpath,$destination

if ($dstpath -ne ¨¨) {

if (! (test-path $dstpath))

¨Создание папки ‘$dstpath’.¨

new-item $dstpath -type directory | out-null

Очень похожий цикл выполняется и при сравнении результирующего и исходного списка папок, тем самым создается точная структура вложенных папок. Два других цикла обрабатывают файлы: первый копирует обновленные объекты из исходной в результирующую папку, второй - отсутствующие в исходном каталоге - из итогового. Узнать, обновился ли файл, можно по его хэш-коду. Заметим, что, поскольку файлы открываются в режиме «только чтение», они не блокируются от использования другими программами. Впрочем, по правилам хорошего тона файл по окончании вычисления хэш-кода необходимо закрывать функцией Close ():

$md5 = new-object system.security.cryptography.md5cryptoserviceprovider

$fs = new-object system.io.filestream ($file,$mode,$access)

$hash = $md5.computehash ($fs) # хэш-код файла

$fs.close ()

Затирать более новый файл его старой копией бессмысленно, и потому добавим команды для сравнения дат изменения. При обратном перемещении отсутствующих в исходной папке файлов никаких проверок не требуется, достаточно просто исполнить инструкцию copy-item. Скрипт целиком приводится в листинге - ему передаются пути к исходной и результирующей папкам (не забудьте добавить закрывающие слэши, например c:filessource), а далее всю работу он выполняет самостоятельно и на экран лишь выводит информацию, что именно происходит. Заметим, даже если вы предварительно не создали итоговую папку, то скрипт создаст ее самостоятельно:

if (! (test-path $destination))

new-item $destination -type directory -force | out-null

Итак, этот скрипт поможет скопировать отсутствующие на флэшке фотографии, таблицы, текстовые документы и др., не тратя время на ручное пофайловое сравнение. Чтобы использовать его, на Рабочем столе можно создать несложный BAT-файл, указав в нем команду вида powershell.backup.ps1 c:filessrc d:backup (путь к скрипту обычно требуется приводить целиком). В дальнейшем несложно синхронизировать папки, щелкая на этом пакетном файле. Напомним, что разрешает исполнение неподписанных скриптов команда Set-ExecutionPolicy RemoteSigned, исполненная от имени «Администратора».

Хранить копии важных файлов в совершенно незащищенном виде, пожалуй, не совсем верно с точки зрения безопасности. Система Windows 7, несмотря на все усилия Microsoft, остается уязвимой к вирусам, червям и прочим зловредам. До документов, которые постоянно лежат, по сути, в открытом доступе, они добираются без проблем. К счастью, в операционной системе появилось весьма полезное средство - виртуальные диски, которые монтируются и отключаются на лету. Они подходят и для резервирования каких-либо важных файлов, обращаться к которым может ограниченное число пользователей.

Виртуальный диск представлен в системе как файл формата VHD (Virtual HardDisk), имеющий полную структуру и содержание, сходные с теми, что у жесткого диска. Создается он с помощью встроенной в Windows 7 служебной программы для управления компьютером, которая запускается через модуль compmgmt.msc. В окне этой программы нужно щелкнуть на строке «Управление дисками» и выбрать в меню команду «Действие Создать виртуальный диск». Для нового виртуального диска задается размер, а затем том форматируется. На последнем этапе можно назначить букву диска или привязать VHD-файл к NTFS-папке.

Последний способ интересен тем, что копировать допускается в определенную папку независимо от того, где находится виртуальный том. Отмонтировав виртуальный том в утилите для управления компьютером, можно быть уверенным, что до самой последней копии важных документов ни вирусы, ни любопытные пользователи не доберутся. Сам виртуальный том, т. е. файл с расширением VHD, можно скопировать на резервный носитель. Дополнительная мера безопасности - шифрование виртуального тома, доступное с помощью BitLocker пользователям максимальной и бизнес-версии Windows 7. При подключении такого защищенного тома (а его можно использовать и на других ПК, причем даже там, где BitLocker не установлен) Windows попросит указать логин и пароль.