$ tar -tf /tmp/backup_2013-07-31.tar.gz backups/servers/server.example.org/var/www/example.org/file1 backups/servers/server.example.org/var/www/example.org/file2 backups/servers/server.example.org/var/www/example.org/file3 ... backups/servers/server.example.org/var/www/example.org/fileN
и распаковать его нужно в /var/www/example.org желательно не применяя mv, то сделать это можно так:
$ tar --strip-components=6 --show-transformed -xvf /tmp/backup_2013-07-31.tar.gz -C /var/www/example.org file1 file2 file3 ... fileN
У tar еще есть опция
--transform
, которая позволяет сделать произвольную замену имени в отличии от --strip-components
, которая только отбрасывает нужное количество уровней вложенности.$ tar --transform 's,backups/servers/server.example.org/var/www/example.org,example.com,g' --show-transformed -xvf /tmp/backup_2013-07-31.tar.gz -C /var/www example.com/file1 example.com/file2 example.com/file3 ... example.com/fileN
А почему именно 6 в опции --strip-components?
ОтветитьУдалитьМне нужно было отбросить из пути backups/servers/server.example.org/var/www/example.org, а это 6 компонентов.
Удалить