buildit —
time a command, log its output and mail
notification when finished
buildit |
[-m] -l
logfile command ... |
The buildit command is a trivial wrapper
script for running commands unattended. buildit will
start the given command using
time(1); log the stdout and stderr of the command in the
given logfile; wait for termination of the command
while printing its output on the terminal; and then optionally mail the head
and tail of the logfile to the calling user.
The
date(1) command is called before and after the command so
that there is a start and end date of the process in the
logfile.
The options are as follows:
-m
- do not send mail when finished.
-l
logfile
- log stdin and stderr to this logfile. If the
logfile already exists, it is moved to
logfile.old.
Here are typical usages of the buildit
command:
buildit -l /var/src/install.out make
installworld | whereintheworld
buildit -l trace.log povray +iscene
+oscene.out
Exit status is 0 on success, and 1 if the command fails for one of
the following reasons:
- -l parameter mandatory
- No logfile has been chosen.
The
mail(1) command is called to send email, with the
-s flag to set the subject. This might not work
equally on all systems.
The buildit manual page was first written
for worldtools 1.2
The buildit command and this manual page
were written by The Anarcat
⟨anarcat@anarcat.ath.cx⟩.
buildit might leave stray processes
running, even after being interrupted. This is due to a bug in
sh since
calling
trap from
a subshell has no effect. See the file test_trap.sh
in the source distribution for an example.