我想编写一个简单的cron作业包装器,以下列方式扩展本机cron:
这是我的问题,我希望记录在cron作业中执行的所有命令(上面的子弹#2),但/bin/bash -x job.sh
(或set -x
内的job.sh
)会触发警报电子邮件(打破上面的子弹#1。
答案 0 :(得分:1)
来自bash(1)
手册页:
BASH_XTRACEFD
如果设置为与有效文件描述符对应的整数, bash 将写入
set -x
时生成的跟踪输出 启用该文件描述符。文件描述符已关闭 当 BASH_XTRACEFD 未设置或分配新值时。解封 BASH_XTRACEFD 或为其指定空字符串会导致跟踪 输出发送到标准错误。请注意设置 BASH_XTRACEFD 到2(标准错误文件描述符)然后 取消设置将导致标准错误被关闭。
...
BASH_XTRACEFD=1
set -x