Execute a command and save the output to a file for inclusion in the
        report.

def _get_cmd_output_now(self, exe, suggest_filename=None,
                            root_symlink=False, timeout=300, stderr=True,
                            chroot=True, runat=None, env=None,
                            binary=False, sizelimit=None):
        """Execute a command and save the output to a file for inclusion in the
        report.
        """
        start = time()

        result = self.get_command_output(exe, timeout=timeout, stderr=stderr,
                                         chroot=chroot, runat=runat,
                                         env=env, binary=binary,
                                         sizelimit=sizelimit)
        self._log_debug("collected output of '%s' in %s"
                        % (exe.split()[0], time() - start))

        if suggest_filename:
            outfn = self._make_command_filename(suggest_filename)
        else:
            outfn = self._make_command_filename(exe)

        outfn_strip = outfn[len(self.commons['cmddir'])+1:]
        if binary:
            self.archive.add_binary(result['output'], outfn)
        else:
            self.archive.add_string(result['output'], outfn)
        if root_symlink:
            self.archive.add_link(outfn, root_symlink)

        # save info for later
        self.executed_commands.append({'exe': exe, 'file': outfn_strip,
                                       'binary': 'yes' if binary else 'no'})

        return os.path.join(self.archive.get_archive_path(), outfn)