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.