
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