
Ich bin neu hier und arbeite derzeit an einem kleinen Projekt.
Ich muss ein Skript in Bash schreiben, um einen Ordner jedes Mal zu scannen, wenn eine Datei darin abgelegt wird. Im zweiten Teil sollte es die Datei in ein neues Verzeichnis verschieben, das mit dem von dieser Datei verwendeten Namen erstellt wird.
Ich dachte, ich benutzeinkronoderbetrachtenaber ich weiß nicht, ob das eine gute Lösung ist. Das Schema würde so aussehen.
directory="/usr/share/docker-compose"
if "*.yml" exist; then
do
move /usr/share/used-images
Dank im Voraus.
Antwort1
Sie könnten inotifywait verwenden. Beispielskript:
#!/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