copy_skraper_media.sh: No mueve los ficheros a menos que esten en subcarpetas

This commit is contained in:
2023-04-04 19:07:14 +02:00
parent 5da1c4a5f3
commit 4a960d6487
+25 -20
View File
@@ -19,7 +19,7 @@ fi
# Si no existe, crea el directorio de destino # Si no existe, crea el directorio de destino
if [ ! -d "$2" ]; then if [ ! -d "$2" ]; then
mkdir -p "$2" mkdir -p "$2"
fi fi
# Colores # Colores
@@ -37,23 +37,28 @@ mkdir -p "${DESTINO}"
# Procesa todas las carpetas # Procesa todas las carpetas
for ITEM in "${ORIGEN}"/*; do for ITEM in "${ORIGEN}"/*; do
# Obten el nombre del sistema y lo imprime en pantalla # Obten el nombre del sistema y lo imprime en pantalla
SISTEMA=$(basename "${ITEM}") SISTEMA=$(basename "${ITEM}")
printf "\n\n%s\n" "${BOLD}${WHITE}${BLUE_BG} ${SISTEMA} ${NORMAL}" printf "\n\n%s\n" "${BOLD}${WHITE}${BLUE_BG} ${SISTEMA} ${NORMAL}"
# Procesa la lista de carpetas # Procesa la lista de carpetas
for CARPETA in $MEDIA; do for CARPETA in $MEDIA; do
printf "\n%s\n" "${BOLD}${LIME_YELLOW}${CARPETA}${NORMAL}" printf "\n%s\n" "${BOLD}${LIME_YELLOW}${CARPETA}${NORMAL}"
# Crea el directorio de destino donde copiarlo todo # Crea el directorio de destino donde copiarlo todo
mkdir -p "${DESTINO}/${SISTEMA}/${CARPETA}" mkdir -p "${DESTINO}/${SISTEMA}/${CARPETA}"
# Copia las imagenes # Copia las imagenes
rsync -avh --delete --chmod=755 "${ITEM}"/"${CARPETA}/" "${DESTINO}/${SISTEMA}/${CARPETA}/" rsync -avh --delete --chmod=755 "${ITEM}"/"${CARPETA}/" "${DESTINO}/${SISTEMA}/${CARPETA}/"
# Copia el gamelist.xml # Copia el gamelist.xml
rsync -avh --delete --chmod=755 "${ITEM}"/gamelist.xml "${DESTINO}/${SISTEMA}/" rsync -avh --delete --chmod=755 "${ITEM}"/gamelist.xml "${DESTINO}/${SISTEMA}/"
# Busca todos los ficheros en la carpeta y subcarpeta y los mueve a la raíz # Calcula el numero de subcarpetas
find "${DESTINO}/${SISTEMA}/${CARPETA}" -type f -exec mv {} "${DESTINO}/${SISTEMA}/${CARPETA}" \; >/dev/null 2>&1 NUM_SUBCARPETAS=$(find "${DESTINO}/${SISTEMA}/${CARPETA}" -mindepth 1 -type d | wc -l)
# Borra las subcarpetas # Si existen subcarpetas
find "${DESTINO}/${SISTEMA}/${CARPETA}" -mindepth 1 -type d -exec rm -rdf {} \; if [ "$NUM_SUBCARPETAS" != 0 ]; then
# Cambia el propietario de los archivos # Busca todos los ficheros en la carpeta y subcarpeta y los mueve a la raíz
chown sergio:sergio "${DESTINO}/${SISTEMA}/${CARPETA}/"* find "${DESTINO}/${SISTEMA}/${CARPETA}" -type f -exec mv {} "${DESTINO}/${SISTEMA}/${CARPETA}" \;
done # Borra las subcarpetas
find "${DESTINO}/${SISTEMA}/${CARPETA}" -mindepth 1 -type d -exec rm -rdf {} \;
fi
# Cambia el propietario de los archivos
chown sergio:sergio "${DESTINO}/${SISTEMA}/${CARPETA}/"*
done
done done