Использование 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 начал удаление файлов из раздела / на исходных машинах. Есть идеи, почему?

1
задан 13 May 2020 в 01:53
1 ответ
  • Каталог tmp заполнен, и файл .lst не может быть создан
  • rsync проигнорировал директиву --include-from, так как этого файла не существовало и включал все на источник, так как вы указали каталог / в своей команде
  • к сожалению, вы также указали --remove-source-files
  • поскольку этих файлов не существовало на вашей цели, он сделал именно так, как вы просили - синхронизировал все с целью и удалил все в источнике.
0
ответ дан 11 May 2020 в 20:08

Теги

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