rsync --include не работает должным образом - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь сделать резервную копию домашнего каталога jenkins (/home/ubuntu/.jenkins/) с помощью rsync в целевой каталог / opt / jenbkup /.Поскольку обратный путь в каталогах не работает должным образом, я выбрал один фильтр в фильтре:

rsync -avr --include="jobs/*/config.xml" --exclude="*" /home/saga/.jenkins /opt/jenbkup

Но ничего не копируется.Я также попытался с точным путем к файлу во включении и не работал.

rsync -avr --include="jobs/job1/config.xml" --exclude="*" /home/saga/.jenkins /opt/jenbkup

Файл не скопирован в место назначения.Я не понимаю, что здесь не так.Кто-нибудь, пожалуйста, помогите.

1 Ответ

0 голосов
/ 22 ноября 2018

Я предполагаю, что вы только сделаете резервную копию config.xml файлов в вашем JENKINS_HOME, тогда это должно работать:

rsync -av --include="*/" --include="config.xml" --exclude="*" \
      --delete --prune-empty-dirs /home/saga/.jenkins/ /opt/jenbkup/

Краткое объяснение используемых опций:

  • --include="*/" пройти по всем каталогам
  • --include="config.xml" включить только файлы с именем "config.xml"
  • --exclude="*" исключить все
  • --delete удалить несуществующиефайлы в резервной копии
  • --prune-empty-dirs удалить пустые каталоги из резервной копии
...