http://qs321.pair.com?node_id=850793


in reply to assert - checking up on other scripts

The less you have to put into a crontab, the better. There's no reason to pass code fragments into a script via command line, much less an automated one.

You're on the right track, however, by generalizing the problem and anticipating future uses for your notification script.

The larger problem you're confronting is three things:

  1. detect
  2. select
  3. deliver

Once you have removed the liver from your selected recipients, your task is complete.

Seriously, though. Break the tasks down and, if not put them into their own modules, at least put them into their own subroutines.

For example, rather than passing code fragments into your script via command line, use a hash for dispatching to the correct test routine; that way you can pass a parameter called "day_stale" and not worry about the quarantine and sanitization of arbitrary code.

Finally, why not consider the unix way of things? If find -ctime 1 myfilename comes up empty, your file has been dead for a day.

Cheers,
Matt

Replies are listed 'Best First'.
Re^2: assert - checking up on other scripts
by sflitman (Hermit) on Jul 22, 2010 at 19:10 UTC
    Thank you for your insights, that makes a lot of sense.
    (I have also wondered why deliver doesn't mean 'de-liver')
    SSF