Я работаю над сценарием резервного копирования и хочу заархивировать каталог файлов:
tar czf ~/backup.tgz /home/username/drupal/sites/default/files
Это разбивает его, но когда я распаковываю полученный файл, он включает в себя полную файловую структуру: файлы находятся в формате home/username/drupal/sites/default/files
.
Есть ли способ исключить родительские каталоги, чтобы полученный tar знал только о последнем каталоге ( files
)?
-C
и--directory
не работает у меня на Ubuntu 16.04. Это единственный вариант, который работает.Используйте параметр --directory:
источник
--directory="/home/username/drupal/sites/default files"
непосредственной близости от места назначения~/backup.tgz
.--directory
параметром, не указан"/home/username/drupal/sites/default files"
. Это/home/username/drupal/sites/default
, с последующим позиционным аргументом , указывающим имя каталога быть заархивированы,files
.Привет, у меня есть лучшее решение, когда войти в указанный каталог невозможно (Makefiles и т. Д.)
Не забудьте точку (.) В конце !!
источник
.
папкой в корне дегтяДля того, чтобы разархивировать все TXT (* .txt) файлы
/home/myuser/workspace/zip_from/
к/home/myuser/workspace/zip_to/
без структуры каталогов исходных файлов используйте следующую команду:источник
Создать tar-архив
tar czf $sourcedir/$backup_dir.tar --directory=$sourcedir WEB-INF en
Un-tar файлы на локальном компьютере
tar -xvf $deploydir/med365/$backup_dir.tar -C $deploydir/med365/
Загрузить на сервер
scp -r -i $privatekey $sourcedir/$backup_dir.tar $server:$deploydir/med365/ echo "File uploaded.. deployment folders"
Un-tar на сервере
ssh -i $privatekey $server tar -xvf $deploydir/med365/$backup_dir.tar -C $deploydir/med365/
источник
Это сработало для меня:
источник
Для меня -C или --directory не работали, я использую это
cd source/directory/or/file tar -cvzf destination/packaged-app.tgz *.jar # this will put your current directory to what it previously was cd -
источник
Пожалуйста, используйте приведенную ниже команду для создания файла tar без структуры каталогов.
например:
источник
-C делает компакт-диск для вас
источник
-C
работает, но нужно использовать как-C <dir> file1 file2 ...