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

Rsync include-from, exclude-from без исходного каталога

Я работаю над сценарием резервного копирования, но у меня возникли проблемы с моим сценарием. Вы можете мне помочь?

INCLUDE="/data/scripts/include.txt"
EXCLUDE="/data/scripts/exclude.txt"
DST="/backupdir"

    rsync \
      --archive \
      --recursive \
      --include-from $INCLUDE \
      --exclude-from $EXCLUDE \
      --hard-links \
      --perms \
      --executability \
      --owner \
      --group \
      --human-readable \
      --verbose \
      --progress \
      --delete-before \
      --stats \
      --timeout=300 \
      -e "ssh -i $SSHKEY" $USER@$IP:$DST
#include
/root
/data
/etc/httpd
/data/lost+found
#exclude
/data/www/html/nextcloud/public_html/data/index.html
/data/www/html/nextcloud/public_html/data/nextcloud.log
/data/www/html/nextcloud/public_html/data/updater.log
/data/www/html/nextcloud/public_html/data/updater-*

Мой вопрос в том, как мне сообщить rsync в rsync обо всем, что находится в включаемом файле, исключить все, что находится в исключенном файле, без указания ему исходного пути?

В руководстве говорится, что у вас должен быть исходный каталог.

Вы должны использовать список в своем включаемом файле как список исходных каталогов для циклического прохождения и rsync из:

for dir in /root /data /etc/httpd
do
    rsync OPTIONS $dir DEST
done

Или, ты можешь сделать / ваш исходный каталог и есть что-то вроде /* в вашем шаблоне исключения.