Shell Script para crear un archivo comprimido del directorio especificado

Un archivo es un proceso simple de almacenar un grupo de archivos o carpetas en un solo archivo. A veces, es posible que necesitemos crear un archivo comprimido a partir de una sola carpeta para poder compartirlo con otros o para otra cosa. En Linux, para facilitar la tarea, podemos crear un script de shell para automatizar el proceso de creación de un archivo simplemente proporcionando el nombre de la carpeta.

Usando el comando tar :

Tar es un acrónimo de Tape Archive. Fue creado inicialmente en enero de 1979 en AT&T Bell Laboratories por John Gilmore. El propósito principal de crear una utilidad tar es crear eficientemente un archivo a partir de muchos archivos. El comando tar crea un archivo único a partir de muchos archivos. Este archivo recién creado también se denomina tarball. tar también se puede utilizar para extraer el archivo.

Sintaxis:

tar [opción] [archivo-nombre de archivo] [archivo-o-carpeta-para-archivar]

Estas son algunas de las opciones más utilizadas:

No Señor. Opciones (formularios cortos) Opciones (formas expandidas) Descripción

1.

-C

-crear

Para crear Archivo

2.

-X

-extracto

 Para extraer uno o más archivos del archivo

3.

-F

–file=nombre-archivo

Para crear un archivo con un nombre de archivo/nombre de archivo dado

4.

-t

-lista

Para listar los nombres de todos los archivos en el archivo.

5.

-tu

-actualizar

Para actualizar el archivo en archivos y agregar archivos al final del archivo.

6.

-v

-verboso

Para mostrar información detallada.

Nota: aquí, el nombre del archivo debe reemplazarse por el nombre que desea darle al archivo.

Código:

#!/bin/bash

# Here we are checking if the directory name
# is provided in the argument or not.
# -z will check for the null string 
# and $1 will check if the positional argument
# is passed or not
if [ -z "$1" ]; then
  
  # If the name of the folder was not specified 
  # in the argument 
  # Then the following message will be displayed 
  # to the screen 
  echo "Warning : Please provide the folder name as an argument"
  exit 0
fi

# We need to verify whether the directory name 
# entered by user really exists or not 
# -d flag will be true if the directory name 
# exists
if [ -d "$1" ]; then

    # if directory control will enter
    # creating a variable  filename to hold the 
    # new file name i.e. new_archieve current date 
    # it will end with the extension ".tar.bz2".
    filename="new_archive $(date '+%d-%m-%y').tar"
    
    # Using tar --create option to create the
    # archive and --file to set the new filename
    tar --create --file="$filename" "$1"
    echo "Archive successfully created."
    
    # if the folder name does not exists 
    # we will simply display the following message 
    # to the screen
    else
        echo "WARNING: Directory name doesn't exists: $1"
  
fi

Producción:

Archivado correctamente

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *