Estoy trabajando en una secuencia de comandos de respaldo y quiero tar un directorio de archivos:
tar czf ~/backup.tgz /home/username/drupal/sites/default/files
Esto lo empaqueta, pero cuando descomprimo el archivo resultante, incluye la estructura completa del archivo: los archivos están en formato home/username/drupal/sites/default/files
.
¿Hay alguna forma de excluir los directorios principales, de modo que el tar resultante solo conozca el último directorio ( files
)?
-C
y--directory
no funcionó para mí en Ubuntu 16.04. Esta es la única opción que funciona.Utilice la opción --directory:
fuente
--directory="/home/username/drupal/sites/default files"
enfrente del destino~/backup.tgz
.--directory
opción no lo es"/home/username/drupal/sites/default files"
. Es/home/username/drupal/sites/default
, seguido de un argumento posicional que especifica el nombre del directorio a ser empaquetado con tar,files
.Hola, tengo una mejor solución cuando ingrese en el directorio especificado, es imposible (Makefiles, etc.)
¡¡No olvide el punto (.) Al final !!
fuente
.
carpeta en la raíz del alquitránPara comprimir todos los archivos txt (* .txt) desde
/home/myuser/workspace/zip_from/
hacia/home/myuser/workspace/zip_to/
sin la estructura de directorio de los archivos fuente, use el siguiente comando:fuente
Crear un archivo tar
tar czf $sourcedir/$backup_dir.tar --directory=$sourcedir WEB-INF en
Un-tar archivos en una máquina local
tar -xvf $deploydir/med365/$backup_dir.tar -C $deploydir/med365/
Subir a un servidor
scp -r -i $privatekey $sourcedir/$backup_dir.tar $server:$deploydir/med365/ echo "File uploaded.. deployment folders"
Un-tar en el servidor
ssh -i $privatekey $server tar -xvf $deploydir/med365/$backup_dir.tar -C $deploydir/med365/
fuente
Esto funcionó para mí:
fuente
Para mí -C o --directory no funcionó, uso esto
cd source/directory/or/file tar -cvzf destination/packaged-app.tgz *.jar # this will put your current directory to what it previously was cd -
fuente
-C hace el cd por ti
fuente
-C
funciona, pero debe usarse como-C <dir> file1 file2 ...