[CentOS] Triggering script from cron or web client

Fri Jul 8 23:23:12 UTC 2011
Brian Mathis <brian.mathis+centos at betteradmin.com>

On Fri, Jul 8, 2011 at 5:58 PM, Kenneth Porter <shiva at sewingwitch.com> wrote:
> I have a Bash script, currently run a couple times an hour from cron, that
> pulls data from an old Windows DB by rsync, converts it to SQL, and injects
> it into a MySQL DB for display in a LAMP-based app. (Make and Perl are also
> involved to minimize the number of tables touched and to clean up the SQL
> generated by Pxlib.)
>
> I'd like to add the ability to refresh the data immediately from the web
> app, but I don't want it to trample on the periodic script and corrupt the
> data.
>
> I figure the ideal way to do this is to run the script in a loop in its own
> process, waiting on a semaphore that times out at the refresh period, and
> poke the semaphore from the web app to have it run before the next periodic
> cycle.
>
> Are there existing frameworks to wrap this kind of thing in? Something that
> handles starting the loop at server startup, shutting it down at server
> halt, and handles the IPC between the web server and the service script.


Web page creates a temp file saying "update", then cron job runs once
a minute looking for that file, kicks off update script, then deletes
temp file.  If you don't want to wait a full minute you could use
'incron' to monitor the temp directory and kick the update right away.
 Seems better than having something in a loop constantly checking.


-☙ Brian Mathis ❧-