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.