<div dir="ltr">Give this a shot, see if it gets close to kinda what you&#39;re wanting:<div><br></div><div><a href="http://pastebin.com/mi168bYi">http://pastebin.com/mi168bYi</a><br></div><div><br></div><div>Just feed it the full pathname of the dhcpd.leases file and it&#39;ll watch the file and print out anything that&#39;s appended to it.  Change line 22 to do whatever it is you need with the output instead of printing it to a file.</div><div><br></div><div>(code copied from <a href="http://code.activestate.com/recipes/157035-tail-f-in-python/">http://code.activestate.com/recipes/157035-tail-f-in-python/</a> )</div><div><br></div><div>--chip</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 5, 2015 at 5:24 PM, Scott Bragg <span dir="ltr">&lt;<a href="mailto:walkingbear@gmail.com" target="_blank">walkingbear@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>I&#39;d approach it by experimenting with inotifywait  and piping the diff of the pre-change with post-change file.    I&#39;m not at a system that I can experiment with, but that&#39;s my first blush idea of which direction to go.  <br><br></div>OSSEC uses inotify, epoll and such for it&#39;s realtime monitoring and reactive monitoring.   You could easily set up a trigger in OSSEC to do what you want, but that&#39;d be *extreme* overkill. <br><span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888">Scott Bragg<br><br></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 5, 2015 at 5:10 PM, Alex Carver <span dir="ltr">&lt;<a href="mailto:agcarver+ale@acarver.net" target="_blank">agcarver+ale@acarver.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Could you set up a cron job every minute that MD/SHA hashes the file,<br>
compares with the hash from a previous iteration, and if the hashes<br>
don&#39;t match, diff the new with the old and process the diff result?<br>
(Obviously if a difference in the hashes is found you save state to use<br>
for the next round of comparisons.)<br>
<span><br>
On 2015-01-05 11:49, James Sumners wrote:<br>
&gt; For those interested, parsing the data in realtime, at least with Node.js,<br>
&gt; is not viable. So this question is irrelevant.<br>
&gt;<br>
&gt; On Thu, Dec 18, 2014 at 12:59 PM, James Sumners &lt;<a href="mailto:james.sumners@gmail.com" target="_blank">james.sumners@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt;&gt; I need to monitor ISC&#39;s dhcpd.leases file so that I can feed new leases<br>
&gt;&gt; into a processor (which will log them to a database). My processor listens<br>
&gt;&gt; for data on a Unix socket . So I&#39;ll want to feed the data being appended to<br>
&gt;&gt; dhcpd.leases into that socket. But I also need it to still write to the<br>
&gt;&gt; leases file.<br>
&gt;&gt;<br>
&gt;&gt; Does anyone have any suggestions on how I might go about doing this? It&#39;s<br>
&gt;&gt; going to need to run non-stop.<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; James Sumners<br>
&gt;&gt; <a href="http://james.roomfullofmirrors.com/" target="_blank">http://james.roomfullofmirrors.com/</a><br>
&gt;&gt;<br>
&gt;&gt; &quot;All governments suffer a recurring problem: Power attracts pathological<br>
&gt;&gt; personalities. It is not that power corrupts but that it is magnetic to the<br>
&gt;&gt; corruptible. Such people have a tendency to become drunk on violence, a<br>
&gt;&gt; condition to which they are quickly addicted.&quot;<br>
&gt;&gt;<br>
&gt;&gt; Missionaria Protectiva, Text QIV (decto)<br>
&gt;&gt; CH:D 59<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</span>&gt; _______________________________________________<br>
<span>&gt; Ale mailing list<br>
&gt; <a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;<br>
<br>
</span>_______________________________________________<br>
<div><div>Ale mailing list<br>
<a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Just my $.02, your mileage may vary,  batteries not included, etc....</div>
</div>