Script BASH pour créer un tar.gz

Script simple pour créer des tar.gz

Ce que nous voulons faire, c’est transférer avec rsync des fichiers au format XML. Le script devra analyser un dossier pour trouver le dernier répertoire à l’intérieur de ce dossier (par date de création) puis à l’intérieur de ce dossier trouver les fichiers d’un modèle spécifique et les compresser dans un tar.gz.

#!/bin/bash

EXPORT_DIR=/appli/aaf/export/fichiers/ENTTSSERVICES
DEST=/appli/aaf/export/fichiers/ZEPHIR

# Retrieve the last directory inside EXPORT_DIR
LAST_DIR=$(ls -t $EXPORT_DIR | head -1)

# Construct the final path
SRC=$EXPORT_DIR/$LAST_DIR

#echo $PATH
#echo "Processing $i file..."
# Create the directory if not exist
mkdir -p ${DEST}
cd ${SRC}
# Get files with a specific pattern '9830' of XML type and get the first part (before _) of the filename
# We create a tar.gz archive inside the DEST folder
/usr/bin/find . -maxdepth 1 -name '9830????*.xml' | /usr/bin/cut -d_ -f 1 | /bin/sort -u |
while read rne; do
   /bin/tar -cvzf ${DEST}/"$rne".tar.gz "$rne"*.xml
done