Bt-teh.ru

БТ Тех
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как синхронизировать две папки с помощью инструментов командной строки

Как синхронизировать две папки с помощью инструментов командной строки?

Перейдя на Linux из Windows, я хотел бы найти альтернативное программное обеспечение для Winmerge или, скорее, изучить инструменты командной строки для сравнения и синхронизации двух папок в Linux. Я был бы признателен, если бы вы сказали мне, как выполнять следующие задачи в командной строке . (Я изучал diff и rsync, но мне все еще нужна помощь.)

У нас есть две папки: «/ home / user / A» и «/ home / user / B»

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

Как перечислить файлы, которые существуют только в папке B? (Например, те, которые были удалены из папки A с момента последней синхронизации.)

Как скопировать файлы, которые существуют только в папке B, обратно в папку A?

Как составить список файлов, которые существуют в обеих папках, но имеют разные временные метки или размеры? (Те, которые были изменены в папке A с момента последней синхронизации. Я хотел бы избежать использования контрольных сумм, потому что есть десятки тысяч файлов, и это сделало бы процесс слишком медленным.)

Как сделать точную копию папки A в папку B? Я имею в виду, скопируйте все из папки A в папку B, которая существует только в папке A, и удалите все из папки B, которая существует только в папке B, но не касаясь файлов, которые являются одинаковыми в обеих папках.

Это помещает папку A в папку B:

Если вы хотите, чтобы содержимое папок A и B было одинаковым, поместите /home/user/A/ (с косой чертой) в качестве источника. Это берет не папку A, а все ее содержимое и помещает ее в папку B. Вот так:

  • -a Выполните синхронизацию, сохранив все атрибуты файловой системы
  • -v бегать многословно
  • -u копировать только файлы с более новым временем модификации (или разницей в размере, если времена равны)
  • —delete удалить файлы в целевой папке, которые не существуют в источнике

Вы могли бы unison инструмент, разработанный Бенджамином Пирсом в U Penn.

Допустим, у вас есть два каталога,

/home/user/Documents/dirA/ а также /home/user/Documents/dirB/

Для синхронизации этих двух вы можете использовать:

$ unison -ui text /home/user/Documents/dirA/ /home/user/Documents/dirB/

В выходных данных unison будет отображаться каждый каталог и файл, которые отличаются в двух каталогах, которые вы просили синхронизировать. Он будет рекомендовать аддитивную синхронизацию (реплицировать отсутствующий файл в обоих местах) при первом запуске, затем создать и поддерживать дерево синхронизации на вашем компьютере, а при последующих запусках будет реализована истинная синхронизация (т. Е. Если вы удалите файл из . /dirA него, также будет удален из . /dirB . Вы также можете сравнить каждое изменение и, при желании, выбрать прямую или обратную синхронизацию между двумя каталогами.

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

Ответ от TuxForLife довольно хороший, но я настоятельно рекомендую вам использовать его -c при локальной синхронизации. Вы можете утверждать, что не стоит тратить время / сеть на удаленную синхронизацию, но это стоит того для локальных файлов, потому что скорость очень велика.

Это показывает, как наличие одинаковых размеров и временных меток может вас подвести.

Настройка

Rsync, который ничего не копирует, потому что все файлы имеют одинаковый размер и временную метку

Rsync, который работает правильно, потому что он сравнивает контрольные суммы

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

-r, —recursive Указывает
rsync рекурсивно копировать каталоги.

-t, —times
Это указывает rsync передавать время модификации вместе с файлами и обновлять их в удаленной системе.

-u, —update
Это заставляет rsync пропускать любые файлы, которые существуют в месте назначения и имеют измененное время, которое является более новым, чем исходный файл. (Если существующий конечный файл имеет время модификации, равное времени исходного файла, оно будет обновлено, если размеры будут другими.)

—delete
Это говорит rsync об удалении посторонних файлов с принимающей стороны (тех, которые не на отправляющей стороне), но только для каталогов, которые синхронизируются.

—info = FLAGS
Эта опция позволяет вам детально контролировать вывод информации, которую вы хотите увидеть.

Из rsync —info=help

Читать еще:  Как закачать файлы на яндекс диск без синхронизации

Хотя это и менее очевидно, но это выглядит эквивалентно и короче:

-v, —verbose
Один -v даст вам информацию о том, какие файлы передаются, и краткую сводку в конце [stats1].

Как можно открыть папку в командной строке в Windows 10

В Windows 10 до выхода апдейта под номером 1703 каталог в командной строке открывался посредством контекстного меню папки, вызванного с зажатой кнопкой Shift. Отныне вместо неё предлагается запустить PowerShell с открытым текущим каталогом. Рассмотрим, как открыть папку в командной строке Windows 10 через её контекстное меню и при помощи текстовой команды.

Способ первый

1. Откройте в окне Проводника (Win + E) нужную директорию.

2. В адресной строке пропишите «cmd» и нажмите «Enter».

Открываем командную строку в папке

Способ второй

Вызов командной строки через контекстное меню Пуск

2. Пропишите и выполните в ней команду вида: «cd c:windows», где после пробела вводите путь к нужному каталогу.

Если тот находится на другом разделе, команда cd выполняется с аргументом d: «cd /d e:», где e: — путь к директории, расположенной не на активном разделе.

Открытие папки в командной строке

Способ третий — возвращаем командную строку

PowerShell при наличии обновления Creators Update v1703 заменяет командную строку и запускается вместо неё во всех случаях по умолчанию. Но это опционально: всего одна минута, и настройки можно возвратить к привычным.

1. Нажмите Win + R и выполните «regedit».

2. Перейдите в ветку HKEY_CRDirectoryshellcmd.

3. Откройте контекстное меню каталога «cmd» и выберите “Разрешения…».

Кликаем по разрешению каталога cmd

4. В открывшемся информационном окне выполните клик по кнопке с названием «Дополнительно», расположенной внизу.

В разрешении для групп cmd переходим на вкладку дополнительно

5. Щелкните «Изменить» (кнопка указана на скриншоте стрелочкой).

Нажимаем кнопку изменить

6. В поле, обозначенном цифрой 1, введите имя пользователя, для которого делаются изменения, либо адрес почты, если используется аккаунт Microsoft, и жмите «Проверить имена».

Выбор нового пользователя для группы

7. Активируйте две опции: замена владельца объектов и подконтейнеров и замена разрешений дочернего объекта.

Замена владельцев объектов

8. Подтвердите выполнение операции.

Замена наследуемого разрешения

9. Кликните по пункту «Администраторы» и предоставьте учётным записям с их привилегиями полный доступ.

Даем полный доступ

10. Удалите ключ «HideBasedOnVelocityId» из реестра (как файл в Проводнике).

Как отменить синхронизацию OneDrive в Windows 10

OneDrive – одна из трех крупнейших облачных служб хранения данных, наряду с Google Drive и Dropbox. Windows 10 включает в себя встроенное приложение OneDrive, которое синхронизирует ваши папки и файлы OD, чтобы вы могли открыть их из проводника.

Однако есть несколько способов отменить синхронизацию OneDrive, если вам не нужно синхронизировать облачное хранилище с Windows 10.

Unsync onedrive с компьютера

  1. Удалить приложение OneDrive
  2. Unsync OneDrive с редактором групповой политики
  3. Выберите опцию Unlink Account
  4. Выберите для отмены синхронизации определенных папок

1. Удалите приложение OneDrive

Если вам действительно не нужна синхронизация приложения OneDrive и вы предпочитаете открывать документы через браузер, вы можете удалить приложение в некоторых версиях Windows 10. После выпуска обновления для Windows 10 Creators вы можете удалить приложение OneDrive с помощью вкладки «Программы и компоненты» на обновленной платформе. Теперь вы можете удалить приложение OD следующим образом.

  1. Нажмите сочетание клавиш Win + R, чтобы открыть Run.
  2. Введите «appwiz.cpl» в текстовом поле «Открыть» и нажмите ОК , чтобы открыть окно, показанное непосредственно ниже.
  3. Теперь прокрутите вниз до приложения Microsoft OneDrive. Либо введите «OneDrive» в поле поиска, как показано ниже.
  4. Выберите приложение OneDrive и нажмите кнопку Удалить .
  5. Нажмите кнопку Да , чтобы подтвердить это.
Читать еще:  Как синхронизировать одну папку в айтюнсе из всех

Вы не можете удалить OneDrive, как описано выше в предыдущих сборках Windows 10. Тем не менее вы все еще можете удалить приложение OneDrive в версиях Windows 10, предшествовавших обновлению Creators. Вместо этого вы можете удалить приложение облачного хранилища с помощью командной строки следующим образом.

  1. Нажмите кнопку Cortana и введите окно поиска «cmd».
  2. Затем щелкните правой кнопкой мыши командную строку и выберите Запуск от имени администратора .
  3. Введите strong taskkill/f/im OneDrive.exe ‘в командной строке и нажмите Return, чтобы закрыть приложение OneDrive.
  4. Чтобы удалить OneDrive на 64-разрядной платформе Windows, введите команду, показанную на снимке ниже, и нажмите Return.
  5. Чтобы удалить OneDrive из 32-разрядной системы, введите команду, показанную ниже, и нажмите Enter.

2. Отмените синхронизацию OneDrive с редактором групповой политики.

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

Вот как вы можете отменить синхронизацию OneDrive с редактором групповой политики.

  1. Введите «gpedit» в поле поиска Cortana и выберите, чтобы открыть gpedit.msc.
  2. Нажмите Конфигурация компьютера и Административные шаблоны на левой панели.
  3. Дважды щелкните папки «Компоненты Windows» и «OneDrive».
  4. Затем дважды щелкните параметр Запретить использование OneDrive для хранения файлов в правой части окна редактора групповой политики.
  5. Выберите переключатель Включено .
  6. Затем нажмите кнопку ОК .
  7. Чтобы снова включить приложение облачного хранилища, при необходимости установите переключатель Не настроен для параметра Запретить использование OneDrive для хранения файлов .

3. Выберите опцию Unlink Account

  1. Если у вас нет редактора групповой политики в Windows, вы все равно можете отменить синхронизацию приложения OD, выбрав опцию Отключить учетную запись . Для этого щелкните правой кнопкой мыши значок области уведомлений OneDrive и выберите Настройки .
  2. Затем выберите вкладку «Аккаунт», показанную на снимке экрана ниже.
  3. Нажмите Отключить этот компьютер , чтобы открыть диалоговое окно прямо под ним.
  4. Нажмите кнопку Отключить аккаунт , чтобы отменить синхронизацию файлов OD.
  5. Вы также можете снять флажок Запустить OneDrive автоматически при входе в Windows на вкладке Настройки.
  6. Нажмите кнопку ОК в окне Microsoft OneDrive.

4. Выберите для отмены синхронизации определенных папок.

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

Вот как вы можете выборочно отменить синхронизацию OD файлов и папок.

  1. Нажмите правой кнопкой мыши значок в системном трее OneDrive и выберите Настройки .
  2. Перейдите на вкладку «Выбор папок», в которой есть кнопка Выбор папок .
  3. Нажмите кнопку Выбрать папки , чтобы открыть список папок и файлов OneDrive.
  4. Снимите флажок Синхронизировать все файлы и папки в моем OneDrive
  5. Затем вы можете снять флажки рядом с папками и файлами, которые вам не нужно синхронизировать.
  6. Нажмите кнопки ОК , чтобы закрыть окна OneDrive, если вы сняли флажки для файлов и папок. Ваша папка OneDrive File Explorer больше не будет содержать несинхронизированные папки и файлы.

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

Примечание редактора . Этот пост был первоначально опубликован в ноябре 2017 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.

Синхронизация папок (локальной с удаленным каталогом по FTP)

Синхронизация папок – не самое трудное дело, настроить синхронизацию папок можно за 2 минуты. Синхронизация файлов и папок с удалённым сервером настраивается:

  • По времени
  • Автоматически
Читать еще:  Регулировка джойстика xbox 360

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

Программа для синхронизации папок и файлов по FTP

WinSCP – это бесплатная программа для синхронизации папок на компьютере. Это FTP-клиент с возможностью синхронизации.

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

  1. Запустите
  2. Добавить новое подключение
  3. Подключитесь к удалённому каталогу

программа для синхронизации папок

После подключения вы увидите двухпанельный файловый менеджер. На одной стороне можно открыть локальную папку с нужными каталогами, на другой – удалённую папку.

программа для синхронизации папок

Для начала синхронизации нужно:

  1. Выбрать меню “Команды”
  2. Пункт “Синхронизация” или с помощью горячих клавиш Ctrl+S

программа для синхронизации папок

Выбрав направление синхронизации и указав остальные параметры, нажмите “ОК”.

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

Автоматическая синхронизация FTP с удалённым сервером настраивается за 2 минуты с помощью WinSCP:

  1. Добавить новое подключение
  2. Подключитесь к удалённому каталогу
  3. Выберите меню “Команды”
  4. Пункт “Синхронизация” или с помощью горячих клавиш Ctrl+S
  5. Нажмите ОК

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

Соответственно, вышеуказанные значения меняйте на свои:

  • user – имя пользователя для подключения к FTP
  • password – пароль для пользователя
  • ftpserver – адрес сервера, к которому подключаемся
  • C:tempBATsynchroKMS – путь к локальной папке
  • / – путь к удаленной папке (в моем случае корневая папка)

Внесите свои значения и сохраните с именем sync-config.txt (или любое другое название на ваше усмотрение).

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

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

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

Запустите файл synhro.bat и, если все вышеописанное вы сделали правильно, должна начаться автоматическая синхронизация файлов и папок, выглядит это примерно так:

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

Теперь сверим каталог на FTP и каталог, который синхронизировался у вас на компьютере. В нашем случае синхронизация данных прошла успешно.

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

Автоматическая синхронизация файлов в программе WinSCP настраивается так:

  1. Добавить новое подключение
  2. Подключитесь к удалённому каталогу
  3. Выберите меню “Команды”
  4. Пункт “Синхронизация” или с помощью горячих клавиш Ctrl+S
  5. Нажмите ОК
  6. Создайте текстовый файл с настройками для подключения, вот как он выглядит в нашем случае:
  7. Соответственно, вышеуказанные значения меняйте на свои:
    • user – имя пользователя для подключения к FTP
    • password – пароль для пользователя
    • ftpserver – адрес сервера, к которому подключаемся
    • C:tempBATsynchroKMS – путь к локальной папке
    • / – путь к удаленной папке (в моем случае корневая папка)
  8. Внесите свои значения и сохраните с именем sync-config.txt (или любое другое название на ваше усмотрение)
  9. Создайте файл synhro.bat и откройте его с помощью блокнота, после чего внесите в него следующую информацию: C:Program Files (x86)WinSCPWinSCP.exe” /console /script=C:tempBATsynchrosync-config.txt, где первая половина – путь к установленной программе, вторая – путь к файлу конфигурации, который мы с вами уже создали
  10. Запустите файл synhro.bat

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector