从cron或at运行时Shell脚本被截断

多米尼克·P

我在基于Linux的NAS(DNS-323)上看到一些非常奇怪的行为。我正在使用一个简单的Shell脚本将NAS上的文件备份到另一个盒子。在添加了一些最新内容之后,该脚本从cron运行时开始失败at当我直接运行脚本时,没有问题。

经过大量的调试,我终于意识到,在某个特定点之后的任何事情都根本没有被执行。就像脚本被截断了一样。我可以通过缩短脚本(主​​要是通过删除注释)来解决此问题,现在它似乎可以正常工作了。虽然,我仍然好奇为什么会这样。

其他人看到过这样的东西吗?这可能是什么原因?

卡梅伦·克尔(Cameron Kerr)

这里最大的区别是,我们似乎正在开发各种嵌入式系统。

如果我正确地阅读了此内容,那么脚本似乎会被截断,而不是输出(然后可以将其邮寄)。我会照顾每个人。

如果实际上是脚本,但是直接运行时可以运行,那么我建议以下几点:

  1. 脚本特别大吗?
  2. 该脚本是否具有任何特定于Bash的功能(“ bashisms”)...请注意,/ bin / sh可以并且通常是不同的。您可能希望在crontab中设置SHELL = / bin / bash(如果可用)
  3. 您是要在crontab中编写脚本还是要调出脚本文件。
  4. 如果将stdout和stderr重定向到具有足够可用空间的文件系统上的文件,行为是否会改变
  5. 在这种情况下,我发现创建一个临时crontab条目很有用,该条目调出“ env”命令,并将其输出重定向到文件或电子邮件。有时这可能会显示环境中的意外差异(例如语言环境设置,通常会有所不同)。
  6. 您可以在脚本文件中放入“ set -x”。这将导致它在脚本进行时输出调试信息。您可以使用“ set + x”将其关闭。这对于确定脚本将在何处结束执行很有用。
  7. 此处使用的是哪种软件:
    • SMTP:“ sendmail --version”或“ sendmail -v”的输出是什么

如果实际上是输出,那么我应该说其行为在很大程度上取决于所使用的MTA。在嵌入式环境中,它可能会超过某个缓冲区大小(也许这将由文件系统上的可用空间来驱动)。

另外,您是否检查了更新的固件:http : //support.dlink.com/ProductInfo.aspx ?m=DNS-323最新的似乎是2012年5月的1.10版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在运行时替换Shell脚本

来自分类Dev

在cron的shell脚本中运行时,为什么curl不产生输出?

来自分类Dev

在运行时编辑shell脚本和python脚本

来自分类Dev

由cron运行时,top的输出被截断为80列

来自分类Dev

Linux Shell脚本中的运行时代码生成

来自分类Dev

在运行时确定脚本中的shell

来自分类Dev

为什么从cron运行时此脚本失败,而在手动运行时却起作用?

来自分类Dev

从cron运行时,期望脚本会失败,但在手动运行时,它会起作用

来自分类Dev

Python 脚本在由 Cron 定期调用的 Bash 脚本运行时不执行

来自分类Dev

安排cron条目仅在尚未运行时才运行脚本

来自分类Dev

Bash脚本在由cron运行时失败-mktemp不输出任何内容

来自分类Dev

我在脚本中有错误,但仅当它作为cron作业运行时

来自分类Dev

从cron运行时,为什么此脚本没有输出到文本文件?

来自分类Dev

MMV不会在bash脚本中执行(仅在由CRON运行时)

来自分类Dev

当脚本由 cron 运行时 subprocess.call 总是返回错误

来自分类Dev

每当cron作业无法运行时

来自分类Dev

通过cygwin从Shell脚本运行时,如何将参数传递给Powershell脚本?

来自分类Dev

在运行时如何在Expect Shell脚本中传递参数

来自分类Dev

Jenkins中的远程shell似乎在运行时会更改我的脚本

来自分类Dev

在Shell脚本中的远程服务器上运行时间查询

来自分类Dev

在jinja2中运行时shell脚本“ tar”错误

来自分类Dev

如何通过shell脚本将运行时参数传递给c中的函数

来自分类Dev

如何获得R脚本的运行时?

来自分类Dev

Simulink运行时阻止Matlab脚本

来自分类Dev

在脚本运行时inotifywait错过事件

来自分类Dev

测量运行时间的脚本

来自分类Dev

脚本的时间部分(运行时间)

来自分类Dev

如何获得R脚本的运行时?

来自分类Dev

.awk脚本运行时出错

Related 相关文章

  1. 1

    在运行时替换Shell脚本

  2. 2

    在cron的shell脚本中运行时,为什么curl不产生输出?

  3. 3

    在运行时编辑shell脚本和python脚本

  4. 4

    由cron运行时,top的输出被截断为80列

  5. 5

    Linux Shell脚本中的运行时代码生成

  6. 6

    在运行时确定脚本中的shell

  7. 7

    为什么从cron运行时此脚本失败,而在手动运行时却起作用?

  8. 8

    从cron运行时,期望脚本会失败,但在手动运行时,它会起作用

  9. 9

    Python 脚本在由 Cron 定期调用的 Bash 脚本运行时不执行

  10. 10

    安排cron条目仅在尚未运行时才运行脚本

  11. 11

    Bash脚本在由cron运行时失败-mktemp不输出任何内容

  12. 12

    我在脚本中有错误,但仅当它作为cron作业运行时

  13. 13

    从cron运行时,为什么此脚本没有输出到文本文件?

  14. 14

    MMV不会在bash脚本中执行(仅在由CRON运行时)

  15. 15

    当脚本由 cron 运行时 subprocess.call 总是返回错误

  16. 16

    每当cron作业无法运行时

  17. 17

    通过cygwin从Shell脚本运行时,如何将参数传递给Powershell脚本?

  18. 18

    在运行时如何在Expect Shell脚本中传递参数

  19. 19

    Jenkins中的远程shell似乎在运行时会更改我的脚本

  20. 20

    在Shell脚本中的远程服务器上运行时间查询

  21. 21

    在jinja2中运行时shell脚本“ tar”错误

  22. 22

    如何通过shell脚本将运行时参数传递给c中的函数

  23. 23

    如何获得R脚本的运行时?

  24. 24

    Simulink运行时阻止Matlab脚本

  25. 25

    在脚本运行时inotifywait错过事件

  26. 26

    测量运行时间的脚本

  27. 27

    脚本的时间部分(运行时间)

  28. 28

    如何获得R脚本的运行时?

  29. 29

    .awk脚本运行时出错

热门标签

归档