Как автоматически архивировать каталог?

46

Я хочу сделать одностороннюю синхронизацию.

У меня есть Folder A на моем компьютере, который постоянно обновляется с содержимым.
Другой Folder B используется для резервного копирования, который находится на внешнем жестком диске.

Теперь я ожидаю, что все, что есть в папке A, должно перейти в папку B. Однако что-то, что присутствует в B и NOT в A "", НЕ будет скопировано в A "".

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

    
задан Z9iT 06.06.2012 в 14:14
источник

9 ответов

61

Звучит как идеальная задача для rsync

sudo rsync -az /path_to/A /path_to/B
  

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

     

-z сжимает данные

Если вы хотите удалить файлы, удаленные в A из файлов в B, используйте параметр --delete

Дополнительную информацию см. в разделе

Ссылка

Вы можете запустить rsync из cron

sudo crontab -e

Добавьте почасовую задачу

@hourly rsync /path_to/A /path_to/B

Ссылка

    
ответ дан Panther 06.06.2012 в 14:33
источник
15

Я бы предложил использовать rsync для этой цели. 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

Есть еще много доступных вариантов.

    
ответ дан JIm 06.06.2012 в 14:39
8

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

Вы также можете найти проблемы с разрешениями, которые поддерживаются в формате файла ubuntu, но, возможно, не на внешнем жестком диске (в зависимости от того, будет ли внешний жесткий диск использоваться на машине Windows, это может быть хорошей вещью ), поэтому вы захотите синхронизировать без прав доступа.

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

Вот некоторые сведения об этом: Ссылка

И вот учебник: Ссылка

    
ответ дан Dr Xorile 26.10.2012 в 01:49
4
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

Это синхронизирует и копирует только те данные, которые не существуют в /other/folder/on/hdd/

    
ответ дан drN 26.10.2012 в 02:22
2

Я согласен с другими ответами, вы можете использовать в rsync в терминале или интерфейсах Grsync , luckyBackup , Conduit или знаменитый Unison .

Еще одно замечательное приложение: Krusader (Диспетчер файлов с двумя панелями для KDE), в меню «Сервис» вы можете найти «Syncronize Directoryories», очень полезно.

В последнем случае вы можете установить Wine и установить еще один отличный файловый менеджер с двумя панелями, например Total Commander .

В любом случае у вас есть множество опций, и все они присутствуют в программном центре Ubuntu.

    
ответ дан Raúl F. Castro S. 23.01.2013 в 20:36
1

Я бы порекомендовал Conduit для простой синхронизации. Доступна программная система. Он делает именно то, что вы ищете

    
ответ дан jasonwert 06.06.2012 в 14:36
0

Существует довольно удобный инструмент оболочки, называемый rsnapshot - Ссылка - утилита мгновенного снимка файловой системы для создания резервных копий локальные и удаленные системы. который использует rsync и жесткие ссылки, что позволяет сохранить сразу несколько резервных копий полной файловой системы. Просто сделайте sudo apt-get install rsnapshot и проверьте info rsnapshot

    
ответ дан user1180249 23.01.2013 в 18:51
0

Вы можете синхронизировать файлы внутри двух директив:

rsync -rv /path/to/directory1/ /path/to/directory2

Doing rsync -rv /path/to/directory1 /path/to/directory2 создаст directory1 внутри directory2 , например /path/to/directory2/directory1/[files]

Вы можете выполнить прогон с помощью -n , например rsync -rnv /path/to/directory1/ /path/to/directory2

Ссылка: Ссылка

    
ответ дан subhojit777 19.10.2014 в 11:06
0

Если вам нужен графический интерфейс в очень настраиваемой системе, попробуйте FreeFileSync. См. Например: Ссылка В частности, вы хотите, чтобы «Обновить», вариант для синхронизации, который будет «Копировать новые или обновленные файлы в правую папку», то есть скопировать из левой папки в нужную папку в двухэкранном режиме.

    
ответ дан CentaurusA 23.01.2013 в 19:01