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

Абсолютно рекурсивный tar без родительских каталогов?

У меня есть структура каталогов, которая выглядит примерно так:

/var/www/website/index.php
/var/www/website/home.php
/var/www/website/whatever.text
/var/www/website/.htaccess
/var/www/website/images/
/var/www/website/images/image1.jpg
/var/www/website/images/image2.jpg

Я хочу рекурсивно использовать tar для каталога веб-сайта, но не хочу включать родительскую структуру. Если я сделаю это:

tar -zcvf /tmp/mytar.tar.gz /var/www/website/*

Тогда все файлы будут иметь /var/www/website/ родительская структура в tar-файле. Единственный способ делать то, что хочу, - это:

cd /var/www/website
tar -zcvf /tmp/mytar.tar.gz *

Таким образом, в файле tar отсутствует структура родительских каталогов.

Возможно ли выполнить то, что мне нужно, без необходимости cd в каталог первым?

GNU tar имеет -C вариант для этого.

-C, --directory=DIR
    change to directory DIR

Итак, вы можете сделать что-то вроде:

tar -C /var/www/website -zcvf /tmp/mytar.tar.gz .

Untarring (со временем вы это сделаете) то же самое:

tar -C /var/www/website -zxvf /tmp/mytar.tar.gz