2

我有手动运行良好的脚本,但在通过 cronjob 运行时没有获得所需的输出。如果脚本有任何问题,请告诉我。

#!/usr/bin/ksh

file1=$(find *-* -mtime 1)

file2=$(find *-* -mtime 2)


basefile1=$(basename $file1)
basefile2=$(basename $file2)


cd /gtxappl/Release/SCMAudit

./cmp.sh $basefile1 $basefile2 > dailyAuditChecks.txt

mailx -s "Daily Checks Report" ****@homeretailgroup.com < dailyAuditChecks.txt
4

1 回答 1

4

来自管理员的选择

5. crontab 环境
cron 使用 shell 从用户的 HOME 目录 (/usr/bin/sh) 调用命令。
cron 为每个 shell 提供默认环境,定义:
HOME=用户的主目录
LOGNAME=用户的登录 ID
PATH=/usr/bin:/usr/sbin:。
SHELL=/usr/bin/sh
希望执行其 .profile 的用户必须在 crontab 条目或该条目调用的脚本中明确执行此操作。

我建议尽可能使用绝对路径,如果需要环境变量,请不要忘记执行 .profile。

于 2012-04-11T10:42:32.953 回答