Основное использование rsync, резервное копирование не выполняется должным образом

Docker-контейнер — это просто процесс с разными пространствами имен, в остальном он работает в системе точно так же, как другие процессы (, в частности его потоки и планирование ввода-вывода ). Поэтому, если вы не можете выполнить стандартный процесс, вы не можете выполнить его в контейнере Docker.

0
27.05.2020, 12:24
3 ответа

Итак, я думаю, ваша проблема связана с опцией -b. От человека:

   -b, --backup
          With this option, preexisting destination files are renamed as each file is transferred or deleted.  You can control where the backup file goes and what (if  any)  suffix
          gets appended using the --backup-dir and --suffix options.

          Note  that  if  you  don’t specify --backup-dir, (1) the --omit-dir-times option will be implied, and (2) if --delete is also in effect (without --delete-excluded), rsync
          will add a "protect" filter-rule for the backup suffix to the end of all your existing excludes (e.g. -f "P *~").  This will prevent previously backed-up files from being
          deleted.   Note  that if you are supplying your own filter rules, you may need to manually insert your own exclude/protect rule somewhere higher up in the list so that it
          has a high enough priority to be effective (e.g., if your rules specify a trailing inclusion/exclusion of ’*’, the auto-added rule would never be reached).

Всякий раз, когда вы синхронизируете свои файлы, они будут синхронизироваться снова, и после старого имени файла будет добавлен суффикс ~(файл ~).

Я не знаю, какова ваша конечная цель, но если вы просто хотите сделать резервную копию ~/Desktop/files/, используйте это:

rsync -avP ~/Desktop/files/ /media/myDrive/

Если вы хотите получить точное соответствие (, удалите файлы, которых нет в ~/Desktop/files/ { я думаю, это то, что вы ищете }):

rsync -avP --delete ~/Desktop/files/ /media/myDrive/

*-P то же, что и --частичный --прогресс

1
18.03.2021, 23:32

Я могу дать вам некоторое представление о путях к каталогам, которые могут сбить вас с толку. В строке ниже:

rsync ~/Desktop/files/ /media/myDrive/ -vbrh --progress

он будет синхронизировать файлы внутри пути ~/Desktop/files/, чтобы они находились внутри этого пути /media/myDrive/

Если указать путь, как показано ниже:

rsync ~/Desktop/files /media/myDrive/ -vbrh --progress

он будет синхронизировать сам корневой каталог по пути ~/Desktop/files, включая файлы внутри, так как вы используете опцию -r. это означает, что с помощью приведенной выше команды вы увидите каталог «files» по пути назначения /media/myDrive/ это может объяснить, почему он повторяет полную синхронизацию при изменении пути.

0
18.03.2021, 23:32

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

rsync -avp --delete --stats /source/ /destination/

--deleteудалит из места назначения файлы, которых больше нет в источнике

--statsпо окончании копирования выдаст сводку

0
18.03.2021, 23:32

Теги

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