
Я здесь новичок и сейчас работаю над небольшим проектом.
Мне нужно написать скрипт на bash для сканирования папки каждый раз, когда в нее помещается файл. Во второй части он должен перемещать его в новый каталог, созданный с именем, используемым этим файлом.
Я думал использоватьинкронилисмотретьно я не знаю, хорошее ли это решение. Схема будет такой.
directory="/usr/share/docker-compose"
if "*.yml" exist; then
do
move /usr/share/used-images
Заранее спасибо.
решение1
Вы можете использовать inotifywait. Пример скрипта:
#!/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