Script en bash para escanear una carpeta para mover un archivo acoplable y ejecutarlo

Script en bash para escanear una carpeta para mover un archivo acoplable y ejecutarlo

Soy nuevo aquí y actualmente estoy en un pequeño proyecto.

Necesito escribir un script en bash para escanear una carpeta cada vez que se coloca un archivo en ella. En la segunda parte deberá moverlo a un nuevo directorio creado con el nombre utilizado por este archivo.

pensé en usarincronomirarpero no sé si es una buena solución. El esquema sería así.

directory="/usr/share/docker-compose"
if "*.yml" exist; then
   do 
      move /usr/share/used-images

Gracias de antemano.

Respuesta1

Podrías usar inotifywait. Guión de ejemplo:

#!/bin/bash

watchdir="$1"

if ! [ -d "$watchdir" ]; then
    echo "Dir $watchdir doesn't exist"
    exit 1
fi

while file=$(inotifywait --format "%f" -e 'create' -e 'moved_to' "$watchdir"); do
    if [ -f "$watchdir/$file" ]; then
        tmpname=$(tempfile -d "$watchdir")
        mv "$watchdir/$file" "$tmpname"
        mkdir "$watchdir/$file"
        mv "$tmpname" "$watchdir/$file/$file"
        # YOURCOMMANDS
    fi
done

información relacionada