Revision 1.1 86/12/26 17:59:16 root Initial revision Printed 1/10/87 1 NAG(1) UNIX Programmer's Manual NAG(1) NAME nag - annoying reminder service daemon. SYNOPSIS nag okok DESCRIPTION _N_a_g issues reminders from your ~/.nag file as specified. You start _n_a_g in your ._p_r_o_f_i_l_e or ._l_o_g_i_n, where it lies around much like _l_e_a_v_e(_1) until you logout. It reads the .nag file, and executes reminder commands at intervals before a time. Reminders are silenced with _o_k_o_k. When you log off, _n_a_g exits just before it would have executed a com- mand on your behalf. _N_a_g ignores interrupts, quits and terminates. To get rid of it, you can log off or use ``kill -9.'' The .nag file has the format: [ status ] day time interval command _s_t_a_t_u_s is either (1) '#', marking a comment line (2) ':', turning off execution of commands for the event. _d_a_y is one of (1) A date such as mm/dd/yy, or reasonable alternatives. (2) `*' meaning every day. (3) A day of the week. Day names may be recognizably abbre- viated. _t_i_m_e is a standard time specification, like ``12:05'' or ``3AM'' _i_n_t_e_r_v_a_l is a colon separated list of signed integer offsets from the event _t_i_m_e the _c_o_m_m_a_n_d will be executed. Negative values are before the event, 0 at the event, and positive values later. _c_o_m_m_a_n_d is a string up to a newline that will be executed by _s_y_s_t_e_m(_3) on your behalf at the specified _i_n_t_e_r_v_a_l until you shut it up with _o_k_o_k. Some shell variables are set for use by the command: pretime is set to the -interval. posttime is set to the interval. now is set to an hh:mm string of the present time, in 24 hour format. then is set to an hh:mm string of the event time. Printed 1/10/87 Thu Sep 4 11:48:01 PDT 1986 1 NAG(1) UNIX Programmer's Manual NAG(1) _o_k_o_k shuts up the the nagging. It opens the terminal and prompts with the command(s) nearing their times, like rm -i. Answering `y' silences further executions of the command. It does this by editing the .nag file, which is noticed by any running _n_a_g processes the next time they wake up. When a silenced event is past it's last possible occurrance, _n_a_g re-enables it by writing the .nag file. This makes `*' reminders work the next day. EXAMPLES A .nag file might have the following entries: 8/8/88 2PM -60:-30:-15:0 writebig "$pretime to Client call at $then" Mon 3PM -60:-30:-15:0 hey "Status report due in $pretime minutes" Wed 3:30PM -30:-15:-5:0 echo "Committee at $then in $pre- time minutes" * 13:00 -45:-30:0 writebig "Lunch in $pretime minutes" * 7PM -5:-4:-3:-2:-1:0 echo "GO HOME!!! It's $now" * 10:30 -10:-5:0 echo "Donut truck in $pretime minutes" FILES ~/.nag file describing things to do. ENVIRONMENT NAGFILE a file to use as the SEE ALSO at(1), calendar(1), hey(1), leave(1), sleep(1), cron(8) DIAGNOSTICS Complains about various syntax errors and times out of range, and problems accessing .nag file BUGS Probably won't work with `stty nostop' set. Intervals will be approximate because of sleep granularity and scheduling contention. There is no locking of the .nag file. This could be trouble if a _n_a_g and an _o_k_o_k decide to write at the same time. AUTHOR David Brower {sun, cbosgd, amdahl, mtxinu}!rtech!gonzo!daveb Printed 1/10/87 Thu Sep 4 11:48:01 PDT 1986 2