Назад | Перейти на главную страницу

Совместное использование параметров rsync --remove-source-files и --include-from =

У меня есть центральный сервер резервного копирования CentOS 7, на котором я запускаю следующие rsync в сценарии, чтобы получить журналы приложений с сотен машин Linux, а затем удалить их.

rsync --remove-source-files --include-from=/tmp/$MACHINE_file.lst \
  -v -a -l -K --rsh=ssh --stats $MACHINE:/ $BACKUPDIR/$MACHINE

Я генерирую /tmp/file.lst на центральной резервной машине для каждой машины с помощью другого скрипта; Он содержит следующие каталоги и файлы для резервного копирования.

+ /data1/
+ /data2/
+ /data2/sample/
- *

Но недавно я столкнулся с большой проблемой, когда /tmp раздел на центральном резервном сервере заполнился из-за другой проблемы и, следовательно, /tmp/$MACHINE_file.lst не удалось создать. Это создало проблему, когда rsync начал удалять файлы из / раздел на исходных машинах. Есть идеи, почему?

  • tmp каталог заполнен, и файл.lst не может быть создан
  • rsync проигнорировал директиву --include-from, поскольку этот файл не существует и включен все в источнике, поскольку вы указали каталог / в своей команде
  • к сожалению, вы также указали --remove-source-files
  • поскольку эти файлы не существовали на вашей цели, он сделал именно то, что вы просили - синхронизировал все с целью и удалил все в источнике.