Я хочу сделать одностороннюю синхронизацию.
У меня есть Folder A
на моем компьютере, который постоянно обновляется с контентом.
Другой Folder B
используется для резервного копирования, который находится на внешнем жестком диске.
Теперь я ожидаю, что все, что присутствует в папке A, должно идти в папку B. Однако то, что присутствует в B, а НЕ в A "", НЕ будет скопировано в A "".
Короче говоря, папка резервной копии может копировать все из исходной папки, однако ничто не должно копироваться из папки резервной копии в исходную.
Звучит как идеальная задача для rsync
sudo rsync -az /path_to/A /path_to/B
-a режим архива (подразумевает рекурсивное копирование символических ссылок как символических ссылок, сохранение владельца, время модификации, группу, владельца, специальные файлы и файлы устройств)
-z сжимает данные
Если вы хотите удалить файлы, удаленные в A, из файлов в B, используйте параметр - удалить
Для получения дополнительной информации см .:
https://help.ubuntu.com/community / rsync
Вы можете запустить rsync из cron
sudo crontab -e
Добавить почасовую задачу
@hourly rsync /path_to/A /path_to/B
Я бы посоветовал использовать для этой цели rsync. Rsync чрезвычайно быстрый, стабильный и универсальный. Хорошее введение можно найти на http://help.ubuntu.com/community/rsync
Если хотите, есть дополнительный графический интерфейс: grsync
sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB
Приведенная выше команда будет копировать из папки A в папку B, за исключением dir1. Флаги:
-a preserves time stamps
-z is to enable compression
-v verbose
Доступно еще много параметров.
Я всегда считал Unison очень полезным. У него есть текстовый или GUI-интерфейс, и довольно много различных опций, чтобы настроить его на то, что вы хотите (с небольшой возней). Первая синхронизация занимает довольно много времени, но после этого она великолепна. Вы можете заставить его синхронизировать в одну сторону, как хотите, но он получит это автоматически. Она также может удалять из резервной копии или нет по вашему выбору.
Вы также можете найти проблемы с разрешениями, которые поддерживаются в формате файла ubuntu, но, возможно, не на внешнем жестком диске (в зависимости от того, будет ли внешний жесткий диск использоваться в машине windows, это может быть хорошо), так что вы захотите синхронизировать без разрешений, которые потенциально возможны.
Как бы то ни было, хорошо то, что в учебнике достаточно просто настроить его один раз, а затем это будет GUI-интерфейс, когда вы захотите это сделать.
Вот некоторая информация об этом: http://www.ubuntugeek.com/unison-file-synchronization-tool.html
А вот учебник: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#tutorial
Я согласен с другими ответами, вы можете использовать rsync в Терминале или интерфейсах Grsync , luckyBackup , Conduit или знаменитый Unison .
Еще одно замечательное приложение - Krusader (двухпанельный файловый менеджер для KDE), в меню «Инструменты» вы можете найти " Syncronize Directories », очень полезен.
В последнем случае вы можете установить Wine и установить другой отличный двухпанельный файловый менеджер, например Total Commander .
В любом случае у вас их много опций, и все они присутствуют в Центре программного обеспечения Ubuntu.
Я бы рекомендую Conduit для простой синхронизации. Доступен программный комплекс. Он делает именно то, что вы ищете
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/
Это позволит синхронизировать и скопировать только те данные, которых нет в /другой/папке/on/hdd/
Существует довольно удобный инструмент оболочки под названием rsnapshot - http://www.rsnapshot.org/ - утилита моментального снимка файловой системы для создания резервных копий локальных и удаленных систем. который использует rsync и жесткие ссылки, что позволяет мгновенно хранить несколько полных резервных копий файловой системы. Просто выполните sudo apt-get install rsnapshot
и проверьте info rsnapshot
Вы можете синхронизировать файлы внутри двух директорий следующим образом:
rsync -rv /path/to/directory1/ /path/to/directory2
Выполнение rsync -rv / path / to / directory1 / path / to / directory2
создаст directory1
внутри каталог2
, например / путь / к / каталог2 / каталог1 / [файлы]
Вы можете выполнить пробный запуск, используя переключатель -n
, например этот rsync - rnv / path / to / directory1 / / path / to / directory2
Если вам нужен графический интерфейс в системе с широкими возможностями настройки, дайте FreeFileSync попытка. См., Например: http://linuxnorth.wordpress.com/2011/11/29/file-and-folder-synchronization/ В частности,вам нужна опция «Обновить» для синхронизации, которая будет «Копировать новые или обновленные файлы в правую папку», то есть копировать из левой папки в правую папку в двухоконном отображении.