Giriş
Bu komut inotify-tools paketi ile geliyor.
-e seçeneği
İzlenmesi istenen olayları belirtir. create, moved_to, move_from, close_write vs olabilir.
Bu komut inotify-tools paketi ile geliyor.
-e seçeneği
İzlenmesi istenen olayları belirtir. create, moved_to, move_from, close_write vs olabilir.
Örnek
Açıklaması şöyle
-m seçeneği - monitor
Sonsuza kadar çalış anlamına gelir.
Örnek
Şöyle yaparız.
Açıklaması şöyle
you can have a program in the background that updates the symlink using inotify and the fact that later files sort as being later with LC_COLLATE=C:Şöyle yaparız./path dizininde bir değişiklik olursa bu dizindeki dry-run ismi ile başlayan dosyalar bulunur. En sonra dosya latest ismi ile soft link oluşturulur. Yani /path/latest en son oluşturulan örneğin dryrun-161134-abc.txt isimli dosyaya işaret eder.
#!/bin/bash -e
export LC_COLLATE=C
shopt -s nullglob
base=/path
while inotifywait -e create \
-e moved_to \
-e moved_from \
-e close_write "$base" > /dev/null; do
dirs=("$base"/dryrun-[0-9]*/)
(( ${#dirs[@]} )) && ln -sfn -- "${dirs[-1]}" "$base"/latest
done
Örnek
Şöyle yaparız. /tmp dizininde yeni bir dizin yaratılırsa bu yeni dizin izlenir ve içindeki dosyalar başka bir yere kopyalanır
#!/bin/sh
TMP_DIR=/tmp
CLONE_DIR=/tmp/clone
mkdir -p $CLONE_DIR
wait_dir() {
inotifywait -mr --format='%w%f' -e create "$1" 2>/dev/null | while read file; do
echo $file
DIR=`dirname "$file"`
mkdir -p "${CLONE_DIR}/${DIR#$TMP_DIR/}"
cp -rl "$file" "${CLONE_DIR}/${file#$TMP_DIR/}"
done
}
trap "trap - TERM && kill -- -$$" INT TERM EXIT
inotifywait -m --format='%w%f' -e create "$TMP_DIR" | while read file; do
if ! [ -d "$file" ]; then
continue
fi
echo "setting up wait for $file"
wait_dir "$file" &
done
Sonsuza kadar çalış anlamına gelir.
Örnek
Şöyle yaparız.
#!/bin/bash
DIRECTORY="your_directory_path"
inotifywait -m -r -e create --format '%w%f' "${DIRECTORY}" | while read NEW
do
ls -hltr
done
-t seçeneğiŞöyle yaparız
touch $HOME/.cache/sentinel
inotifywait -t 300 $HOME/.cache/sentinel
Dosyadaki değişikliği tetiklemek için şöyle yaparız
touch $HOME/.cache/sentinel
Hiç yorum yok:
Yorum Gönder