cara menempatkan pemicu pada direktori


25

Saya memiliki skrip yang memindai direktori dan melakukan pemeliharaan pada file di dalamnya. Proses lain membuat file dalam direktori (10 - 30 file per hari).

Script dipanggil melalui pekerjaan cron harian. Yang saya butuhkan adalah memicu skrip pada suatu acara (setiap kali file baru dibuat di direktori). Saya lebih suka ini daripada meningkatkan frekuensi pekerjaan cron.

Bagaimana saya bisa melakukan itu? apakah ada perintah atau program untuk menginstal?

Terima kasih sebelumnya atas bantuannya.

Jawaban:


23

inoticoming

inoticoming adalah daemon untuk menonton direktori dengan kerangka kerja inotify Linux dan memicu tindakan setelah file dengan nama tertentu ditempatkan di sana.

Misalnya dapat digunakan untuk menunggu. Mengubah file yang diunggah ke dalam direktori dan memanggil reprepro untuk memasukkannya ke dalam repositori Anda.

incron

incron adalah sistem "inotify cron". Ia bekerja seperti cron biasa tetapi didorong oleh peristiwa filesystem bukannya peristiwa waktu. Paket ini menyediakan dua program, sebuah daemon yang disebut "incrond" (analog dengan crond) dan manipulator tabel "incrontab" (seperti "crontab").

incron menggunakan Linux Kernel inotify syscalls.

seperti cron, setiap pengguna dapat mengedit tabel incron sendiri.


2
Bisakah Anda memberikan contoh? Tautan ke halaman manual juga diterima, saya tidak dapat menemukan satu untuk incron, yang inoticomingada di sini .
Lekensteyn

Untuk incron, lihat halaman manual incrond, incrontab dan incron.conf
Florian Diesch

2
Saya telah mengedit jawaban Anda dengan cara yang saya inginkan. Saya menyalinnya dari deskripsi paket, harap menjadi sangat luas di masa depan ketika memberi nama program :)
Lekensteyn

4

Ada juga program kecil yang disebut iwatch- lihat halaman manual (halaman ini adalah untuk Ubuntu yang tepat (12.04), ia memiliki tautan ke versi ubuntu lainnya).

iwatch memiliki kemampuan menonton folder secara rekursif (yaitu: subfolder juga) dan mengirim email sebagai respons terhadap kejadian file / direktori.


3

Utilitas lain yang perlu diketahui adalah fileschanged( halaman manual di sini ), yang dapat memonitor acara filesystem pada file atau direktori yang dipilih, misalnya perintah berikut

fileschanged -s created -t1 $PWD

harus memantau direktori saat ini untuk acara pembuatan file, menulis nama file yang dibuat stdoutdengan batas waktu 1 detik.

fileschangeddapat menonton folder secara rekursif ( iwatchseperti yang disebutkan dalam jawaban lain), tidak seperti incrondan inoticoming.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.