Как синхронизировать два диска на компьютере. Удобная синхронизация файлов

Чтение каталога осуществляется по команде 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 попросит указать логин и пароль.

Примерно два года назад я родил проект- небольшая программа клиент, которая ставится на любой девайс и просто синхронизирует файлы.
Например можно было задать, что документы будут синхронизироватся между домашним и рабочим компьютером. Музыку и книги между домашним компом и телефоном. Резервное копирование между домашним компом, рабочим компом и сервером. Также эта программа могла контролировать последующее распространение любого файла в системе. Т.е вы как владелец, могли всегда узнать историю файла: копирование на флешку, на другой компьютер, по «электропочте» и т.д.

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

Да, скажете вы, есть облачные хранилища и зачем оно нужно когда есть Яндекс.Диск, Dropbox и куча облачных сервисов хранения файлов. Ну просто это не всегда приемлемо и удобно. Минусы:
1. Вы доверяете свои файлы третьей стороне без всяких гарантий.(Я не параноик, но вы ведь не оставите в таком хранилище ваши интимные данные)
2. Для доступа к ним нужен интернет. А это в России до сих пор не всегда возможно с необходимой скоростью.

Свято место пусто не бывает и компания BitTorrent выпустила нечто подобное, но в урезанном виде. Их программа просто синхронизирует файлы между разными платформами и системами как только они вышли в интернет или оказались внутри одной подсети. К сожалению нельзя гибко настраивать правила синхронизации, зато есть отличный клиент который администрируется через либо через нативный интерфейс(WIndows, MAC OS X, Android, iOS), либо через веб интерфейс(*NIX).

Я больше не лезу за фотками, документами и музыкой на мобилу и не лезу на сервер чтобы забрать редко обновляемый бэкап.
В домашнем компьютере есть несколько папок:
Телефон
Сервер
Общая
Авто

Чтобы закинуть что-то в телефон, я просто копирую нужный файл в папку «Телефон». На моем телефоне он появится через несколько секунд
Чтобы обменяться документами с ребятами по работе, я кидаю в папку общая. И через несколько секунд этот файл появлятся у всех нужных мне людей – локально а не в облаке.

В машине, в качестве медиа центра стоит Google Nexus, по 3G смотрит в интернет. На домашнем компьютере кидаю карты навигации и музыку в папку Авто. Все автоматом складывается в автомобиль. Из папки Авто/регистратор забираю интересные моменты снятые видео регистратором(девайс в машине всегда онлайн).
Экономит массу времени.

Пожелаем BotTorrent успехов в развитии их замечательного проекта.
Качаем .
Доступно в Google Play Market и Apple AppStor. Думаю скоро появится под мобильную версию Windows.

PS
Спасибо Мурину Саше за наводку)

После статьи о исключительно ручном методе синхронизации папок посыпались просьбы найти и описать «ленивое» решение этого вопроса. Держите — бесплатная программа для автоматической синхронизации папок под названием Allway Sync .

Зачем нужна синхронизация папок

Этим вопросом меня удивили некоторые пользователи в комментариях и почте — отвечаю им. Она может понадобиться…

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

Автоматическая синхронизация папок

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

Что же, заинтриговать нас у них получилось, правда? Давайте проверим их заявление на практике.

Установка Allway Sync

Ничего страшного или запутанного в ней нет. Только два нюанса — НЕ снимайте галку на установку специальной службы (нужна для автоматического отслеживания изменений в папках)…

…а также определитесь — нужен ли Вам ярлык на рабочем столе и для всех ли пользователей Вашего компьютера Вы устанавливаете программу…



Настройка Allway Sync и работа в ней

Сразу после установки программы нужно научить её своему языку…

Остальные настройки программы покажу по мере её испытания. Итак, по умолчанию у нас уже есть какая-то задача под названием «New Job 1» — кликаем по вкладке правой кнопкой мыши и создаём свою личную новую задачу…

После этого можно таким же образом переименовать или удалить какую-либо задачу. С этим разобрались — идём дальше и указываем папки для синхронизации…

…определяемся с направлением синхронизации (ссылка «Изменить» между стрелками в середине)…

Осторожно! Полезная дополнительная информация на сайте:

(по умолчанию стоит общая синхронизация)

Если у Вас, как и у меня в данном случае, вторая папка живёт на флешке — рекомендую нажать кнопочку «Настроить…» и установить галочку для привязки программы к характеристикам накопителя…

Как видите — всё грамотно и понятно нам поясняют буквально на каждом шагу в этой чудной программе.

Первичная ручная синхронизация

Жму кнопку «Анализировать», читаю предупреждение и игнорирую его…

…после чего, наконец-то, синхронизирую папки…

Открыв во вкладках проводника сразу обе подопытных папки, проверил результат работы программы Allway Sync — всё чётко и без ошибок (сколько в одной папке файлов, столько и во второй).

Всё это хорошо, но это была обычная ручная синхронизация — где же автоматическая? Рассказываю.

Автоматическая синхронизация данных

Заходим в настройки нашей задачи, в которые можно попасть несколькими путями…

  • пункт «Вид» в меню программы и «Настройки…»
  • правой кнопкой мыши по вкладке задачи и в контекстном меню пункт «Свойства»
  • в английской раскладке клавиатуры нажмите «горячие» клавиши Ctrl+O (последовательно, без плюса)

(кстати, тут и автозапуск программы можно включить)

…в самом низу списка настроек, что слева в окне, ищем свою задачу и переходим в «Автоматическая синхронизация»…

…а уж тут настраиваете её под себя любимого, как угодно — при подключении накопителя к компьютеру, через определённый промежуток времени, при запуске приложения, перед выходом…

Разнообразие условий автоматической синхронизации папок в этой программе просто поражает — авторы предугадали большинство желаний пользователей.

Выставил первое условие («При подключении съёмного устройства») и вытащив флешку из ноутбука удалил три фотографии в тестовой папке. После подключения накопителя к компьютеру — данные автоматически моментально синхронизировались…

Сегодня мой рассказ будет посвящен программам синхронизации данных между ПК и речь пойдет не об облачных сервисах, хотя некоторые из утилит предоставляют такую возможность. Те пользователи, которых интересуют «облака» типа Dropbox, пусть переходят на статью , а мы рассмотрим программы для создания локальных копий файлов и папок между пользовательскими компьютерами (на USB HDD, флешках, в локальной сети и т.д.), не прибегая к помощи удаленного сервера. Это решение подойдет для людей, сомневающихся в сохранности своих данных на облачном сервисе и его серверах, неизвестно в каком месте расположенных. Вспомним хотя бы одного из основателей Apple — Стива Возняка, который предпочитает хранить данные локально на устройстве, игнорируя iCloud. Именно таким пользователям и будет посвящена данная статья о синхронизации данных.

GoodSync

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

Для должного функционирования программы, установите ее на тех машинах, где вам необходима синхронизация данных . Чтобы не запутаться, каждое задание имеет свой тип — резервное копирование или синхронизация. Во втором случае будут отслеживаться изменения в файлах с обоих компьютеров или используемых носителей. В качестве таких носителей могут использоваться другие ПК с установленной программой GoodSync, ваш FTP-сервер, компьютер из вашей домашней сети или же сервисы с поддержкой протокола WebDAV, ну и облачные следующие облачные службы: Google Drive, Miсrоsoft SkyDrive, Windows Аzure, Amazon S3 и Amazon Cloud Drive.

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

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

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

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

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

Как синхронизировать файлы и папки?

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

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

Самыми популярными сервисами хранения данных являются Dropbox, SkyDrive, Яндекс Диск, SugarSync, Облако Mail.ru и Диск Google.
Для того, чтобы синхронизировать все устройства, необходимо установить на каждое их них специальную программу, которую можно скачать на одном из сервисов. Данная программа создаст папку пользователя, в которой будут храниться все документы. Они будут закачиваться в специальное хранилище в интернете, из которого будут доступны пользователю в любой точке мира.

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

Выгоды синхронизации данных

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

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

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