Add support for multiple jobs files.
[whenjobs.git] / daemon / whenjobsd.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 whenjobsd - whenjobs per-user daemon
6
7 =head1 SYNOPSIS
8
9  whenjobsd
10
11 To start the daemon as a user, do:
12
13  whenjobs --daemon-start
14
15 To start the daemon as root (eg. from C</etc/rc.local>) for a
16 particular user called C<username> do:
17
18  su username -c /usr/sbin/whenjobsd
19
20 =head1 DESCRIPTION
21
22 C<whenjobsd> is the daemon that runs whenjobs.  Normally users do not
23 need to run this program directly.  You can start and stop the daemon
24 using the L<whenjobs(1)> tool:
25
26  whenjobs --daemon-start
27  whenjobs --daemon-stop
28  whenjobs --daemon-status
29  whenjobs --daemon-restart
30
31 All documentation on the whenjobs cron replacement system can be found
32 in the L<whenjobs(1)> man page.  This man page documents the daemon
33 only.
34
35 Unlike cron, each user that wants to use whenjobs runs their own
36 whenjobsd.  They operate completely separately.
37
38 The daemon sends log messages to syslog using the "cron" facility.
39 Where these end up depends on the configuration of your syslog system,
40 which can vary from Linux distro to Linux distro.  Typically the file
41 to look at might be one of:
42
43  /var/log/cron
44  /var/log/syslog
45  /var/log/messages
46
47 =head1 OPTIONS
48
49 =over 4
50
51 =item B<-d>
52
53 Enable extra debugging messages.  These are sent to syslog.
54
55 =item B<-f>
56
57 Don't fork into the background.
58
59 =item B<-V>
60
61 =item B<--version>
62
63 Display the name and version of the program and exit.
64
65 =item B<-help>
66
67 =item B<--help>
68
69 Display brief usage and exit.
70
71 =back
72
73 =head1 FILES
74
75 =over 4
76
77 =item C<$HOME/.whenjobs/daemon_pid>
78
79 This contains the process ID of the daemon.  The daemon also holds an
80 advisory (L<flock(2)>-style) exclusive lock on this file while it is
81 running.
82
83 =item C<$HOME/.whenjobs/*.cmo>
84
85 The compiled jobs specification file(s) which the daemon loads on
86 start up, or reloads when instructed to by the L<whenjobs(1)> tool.
87
88 Normally you only have one, called C<jobs.cmo>, corresponding to the
89 source file C<jobs.ml> which is edited by C<whenjobs -e>.  It is
90 possible to have multiple files, see L<whenjobs(1)/MULTIPLE JOBS FILES>.
91
92 =item C<$HOME/.whenjobs/socket>
93
94 The daemon creates this socket and listens for incoming connections
95 from the L<whenjobs(1)> tool.
96
97 =back
98
99 =head1 ENVIRONMENT VARIABLES
100
101 =over 4
102
103 =item C<$HOME>
104
105 The user's home directory.  This directory must exist and must be
106 owned by the same user as the daemon.
107
108 =item C<$SHELL>
109
110 The shell used to execute shell scripts.  If not set, C</bin/sh> is
111 used.
112
113 =back
114
115 =head1 SEE ALSO
116
117 L<whenjobs(1)>
118
119 =head1 AUTHOR
120
121 Richard W.M. Jones L<http://people.redhat.com/~rjones/>
122
123 =head1 COPYRIGHT
124
125 Copyright (C) 2012 Red Hat Inc.
126
127 This program is free software; you can redistribute it and/or modify
128 it under the terms of the GNU General Public License as published by
129 the Free Software Foundation; either version 2 of the License, or
130 (at your option) any later version.
131
132 This program is distributed in the hope that it will be useful,
133 but WITHOUT ANY WARRANTY; without even the implied warranty of
134 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
135 GNU General Public License for more details.
136
137 You should have received a copy of the GNU General Public License
138 along with this program; if not, write to the Free Software
139 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.