Script python beserta contoh konfigurasinya dapat dipelajari melalui https://github.com/splitbrain/Watcher.git
$ cd ~/
$ git clone https://github.com/splitbrain/Watcher.git
$ cd Watcher
$ chmod +x watcher.py
File konfigurasi watcher.ini
dapat diletakkan di dalam folder /etc/ , berikut contoh isi dari file konfigurasi
[DEFAULT]
logfile=/tmp/watcher.log
pidfile=/tmp/watcher.pid
[dev]
watch=/path/ke/direktori/yang/dimonitor
events=create,delete,modify
excluded=
recursive=true
autoadd=true
command=chown -R www-data.www-data $watched
[konfig2]
watch=/path/ke/direktori/yang/dimonitor2
events=create,delete,modify
excluded=
recursive=true
autoadd=true
command=chown -R www-data.www-data $watched
Multiple target dapat didefinisikan melalui direktif yang terdapat setelah [Targetname]
Eksekusi script dapat dilakukan sebagai berikut;
$ ./watcher.py start
Memeriksa apakah script sudah berjalan dengan baik dapat dilakukan melalui file log yang terdapat di dalam /tmp
Monitoring dapat dilakukan secara persistent melalu service systemd yang didefinisikan di file .service
yang terdapat di dalam direktori /lib/systemd/system/
.
- Pindahkan script ke dalam
/usr/bin/
- Buat file
.service
didalam folder systemd - Sesuaikan definisi untuk service terkait
- Reload daemon untuk systemctl
- Enable service dan lakukan konfirmasi
$ cp watcher.py /usr/bin/
$ touch /lib/systemd/system/fs_watcher.service
$ vim /lib/systemd/system/fs_watcher.service
########
[Unit]
Description=Monitor File system changes recursively
[Service]
Type=simple
ExecStart=/usr/bin/python /usr/bin/watcher.py start
ExecStop=/usr/bin/python /usr/bin/watcher.py stop
ExecReload=/usr/bin/python /usr/bin/watcher.py restart
PIDFile=/tmp/watcher.pid
Restart=always
[Install]
WantedBy=multi-user.target
########
$ systemctl daemon-reload
$ systemctl enable fs_watcher
$ systemctl status fs_watcher
● fs_watcher.service - Monitor File system changes recursively
Loaded: loaded (/lib/systemd/system/fs_watcher.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-07-09 04:13:31 UTC; 6min ago
Main PID: 6536 (python)
Tasks: 4
Memory: 7.7M
CPU: 369ms
CGroup: /system.slice/fs_watcher.service
└─6536 /usr/bin/python /usr/bin/watcher.py start
Jul 09 04:13:31 s2 systemd[1]: Started Monitor File system changes recursively.
Jul 09 04:13:32 s2 systemd[1]: fs_watcher.service: Supervising process 6536 which is not our child.