【问题标题】:Scheduling a shell script in cron doesnot produces required output在 cron 中调度 shell 脚本不会产生所需的输出
【发布时间】:2014-04-21 14:55:15
【问题描述】:

我有一个 shell 脚本,我使用 cron 使用命令安排了该脚本:

0 10 * * * /directory/Script.sh > /directory/log/output.log

脚本计划在每天上午 10 点运行。该脚本执行但仅生成带有标题的输出文件,没有内容。

脚本生成两个输出文件。当我手动运行脚本时,它工作正常。但是在计划时它不会产生正确的输出。

帮帮我。

谢谢

【问题讨论】:

  • 您的意思是日志文件或您的Script.sh 应该创建的文件?
  • 没有创建日志文件。但是另外两个输出文件file1file2 也会生成,但它们只包含标题而不包含内容。
  • 脚本产生两个输出文件file1和file2
  • 您能否发布生成这些文件的Script.sh 的相关部分。它是否依赖于生成文件的任何其他参数?
  • 当我检查/directory/log/output.log 时,它告诉我脚本已经执行,但是两个输出文件没有所需的内容。

标签: linux shell cron scheduling


【解决方案1】:

多种原因

1> 检查脚本中所有可执行文件的完整路径。

2> 确保所有环境变量都相应设置

3> 在执行 cron 时从同一用户运行时检查脚本。

从技术上讲,手动运行脚本和从 cron 调度没有区别

【讨论】:

  • 但是当我手动运行时,文件会正确生成.. 是否需要这样?
  • 你能帮我解决这个问题吗?如何给出绝对路径?请
  • 10 05 * * * /directory/Script.sh > /directory/log/output.log 2>&1/EC2InstanceAuditScript.sh: line 20: ec2-describe-instances: command not found
  • 好像没有 aws cli 工具。你能做pip install awscli吗?如果服务器上没有pippython get-pip.py
  • aws cli 工具在那里。但是当安排在 cron 上时,它无法找到它。我什至在crontab-e 中指定了路径,但没有任何效果。请帮忙
猜你喜欢
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多