Как сделать tar.gz для всех файлов и каталогов из заданного списка полных путей, сохраняя при этом права доступа к каталогам и файлам?

попробуй это:

#!/bin/bash
#
a=1
b=45
#
while [[ $answer -lt $a || $answer -gt $b ]]; do

read -p "please answer: " answer
answer=$(echo "$answer" | tr -dc '[:alnum:]\n\r')

done

Строка answer=$(echo "$answer" | tr -dc '[:alnum:]\n\r')удалит все специальные символы из ответа и установит новое значение переменной.

0
15.10.2020, 15:52
2 ответа

Я нахожу решение. Вот, если кому еще понадобится:

awk -F/ '{ d=$1; for (i=2; i <= NF; i++) { print d; d=d "/" $i }; print d }' dbfiles | awk '{ if (index(old,$0 "/") != 1) { old=$0; print } }' | tar czvf $LOCALFS/$TARFILENAME.tar.gz --no-recursion -T -

Спасибо тем, кто ответил на мой первоначальный вопрос.

0
18.03.2021, 22:57

для сжатия вы можете использовать каталог tar -cvpf filename.tar.gz.

при извлечении используйте параметр --same-owner. например.tar -xvzf --same-owner filename.tar.gz

1
18.03.2021, 22:57

Теги

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