Question about ports adding cronjobs
Marco Walraven
m.walraven at terantula.com
Wed Jun 18 06:26:08 UTC 2008
Hi David,
On Tue, Jun 17, 2008 at 07:40:19PM -0500, Paul Schmehl wrote:
> --On June 17, 2008 3:24:11 PM -0700 David Hawthorne
> <dhawth at bitgravity.com> wrote:
>
> >I have a piece of software I've been working on that gaThers stats about
> >the local host and shoves them into rrd files, with an accompanying web
> >front-end page that generates pretty graphs from the RRDs on demand. I
> >have a package done up for it, and I'd like to add it to the ports tree
> >eventually, but I'm stuck on how to get it to automagically add the
> >cronjob to have the stats gathering script run every five minutes, and I
> >don't know of any ports that add cronjobs off the top of my head to go
> >look at.
> >
> >Is there an approved standard for doing this? It doesn't have to be as
> >root, either, it can run under a different user. Any advice on how to
> >get the port to add the user (and remove it properly when the port is
> >deinstalled) properly and securely would be appreciated as well.
> >
>
> Look at mail/courier/files/crontab.in,
> mail/exim/files/POST-INSTALL_NOTES.clamd and mail/mailman/pkg-install (and
> those ports' associated files) for some examples of ways to deal with cron
> jobs in a port.
Just finished a project where we created a custom port section which has 20
ports currently. Some of them also automatically install a custom crontab.
Actually ports should not be used to configure your system imho. However it
can be easily done.
What I did was adding a crontab snippet in a file under yourport/files, this
is just one possibility. During installation of the port it gets added to a
users crontab; it just uses 'cat' to do that.
The snippet uses a tag #<!-- begin crontab for yourport --> and ends with
#!<-- end crontab for yourport --> which can be easily removed using 'sed'
when you deinstall the port. By using these tags we now have multiple ports
that can write a user's crontab without creating much clutter and scripting.
You only need to restart cron if you install the port.
Marco
--
Terantula - Industrial Strength Open Source
phone:+31 64 3232 400 / www: http://www.terantula.com / pgpkey: E7EE7A46
pgp fingerprint: F2EE 122D 964C DE68 7380 6F95 3710 7719 E7EE 7A46
More information about the freebsd-ports
mailing list