Как эффективно копировать только измененные файлы с диска на внешний USB?

У меня есть каталог под названием my_projects_linux внутри файловой системы Ubuntu, в котором содержатся все мои работы за многие годы. Каталог содержит файлы, подкаталоги и т. Д.

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

Следовательно, содержимое моего внешнего диска выглядит следующим образом:

/mounted_drive/my_projects_linux
/mounted_drive/my_projects_windows  # the same idea to backup Windows work

Следовательно, я ищу команду, которая:

  1. будет работать как

    cp /home/my_projects_linux /mounted_drive/my_projects_linux
    

    Он должен заменить старые файлы, подкаталоги, файлы внутри подкаталогов и т. Д. На внешнем диске новым содержимым с моего ПК.

  2. Будь быстрым . Следует копировать только измененные файлы или только что созданные. Учитывая, что размер my_projects_linux составляет> 50 ГБ, копирование всего занимает более часа, что слишком медленно. В действительности часто с момента последнего резервного копирования менялось всего несколько МБ, поэтому теоретически копия может быть сделана намного быстрее.

Как это сделать?

Я гуглил, что cp с флагом -u может соответствовать моим потребностям. Будет ли это работать (например, будет ли оно правильно обрабатывать подкаталоги подкаталогов)?

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

7
задан 28 September 2016 в 22:19

3 ответа

Вы - вид описания, что rsync было разработано для. От man rsync:

   Rsync  finds  files  that  need to be transferred using a "quick
   check" algorithm (by default) that looks  for  files  that  have
   changed  in  size  or in last-modified time.  Any changes in the
   other preserved attributes (as requested by options) are made on
   the  destination  file  directly  when the quick check indicates
   that the file’s data does not need to be updated.

существует также много пустой болтовни о сетях, но это - счастливое выполнение, локальное также.
По существу все, в чем Вы нуждаетесь:

rsync -rtv /home/my_projects_linux /mounted_drive/my_projects_linux

существует тонна доступных опций, но -rtv будет синхронизировать recursively, оставаясь timecodes то же, будучи verbose о том, что это делает.

13
ответ дан 29 September 2016 в 08:19
  • 1
    Я думаю, что это квалифицирует как ответ. Плюс it' s слишком большой для вписывания в комментарий с надлежащим форматированием. – WinEunuuchs2Unix 16 September 2017 в 12:00

Я знаю, что этот вопрос уже имеет принятый ответ. Однако я хотел добавить кросс-платформенное решение GUI, поскольку я вижу, что Вы также используете окна. Я использую в тех же целях Freefilesync. Это - также ВЫШИВАЛЬНЫЙ ШЕЛК.

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

существует также ppa, хотя он не включает последнюю версию для 14,04 в данный момент. Устанавливать через ppa:

sudo apt-add-repository ppa:freefilesync/ffs
sudo apt-get update
1
ответ дан 29 September 2016 в 08:19
  • 1
    Большое спасибо! sudo rm -rf ~/.Xauthority была единственная вещь, которую я не попробовал. – Pantelis Sopasakis 8 August 2017 в 08:40

Для ответа на второй вопрос более необычный способ скопировать rdiff-backup.

rdiff-резервное-копирование создает резервную копию одного каталога другому, возможно по сети. Целевой каталог заканчивается копия исходного каталога, но дополнительный реверс diffs хранится в специальном подкаталоге того целевого каталога, таким образом, можно все еще восстановить файлы, потерянные некоторое время назад. Идея состоит в том, чтобы сочетать лучшие функции зеркала и инкрементного резервного копирования. rdiff-скопируйте также сохраняет подкаталоги, жесткие ссылки, dev файлы, полномочия, uid/gid владение, время изменения, расширили атрибуты, acls, и ветви ресурсов.

И если Вы действительно хотите пойти облачные: Я использую CrashPlan с заплаченной подпиской. Затем Вы никогда не должны думать о ручных резервных копиях больше.

0
ответ дан 29 September 2016 в 08:19
  • 1
    @PantelisSopasakis - I' m довольный, что это помогло Вам. – Manoj Sawai 8 August 2017 в 08:41

Другие вопросы по тегам:

Похожие вопросы: