【问题标题】:Console runs file but Cron not控制台运行文件但 Cron 不运行
【发布时间】:2015-08-13 03:03:18
【问题描述】:

我正在处理以前的问题,我猜我的环境变量是错误的。但是我该如何解决它..

我想每 2 小时执行一次包含以下内容的 .sh 文件:

#!/bin/bash
find /directory -type f -print0 | xargs -0 chmod 666
find /directory -type d -print0 | xargs -0 chmod 755

但是当 cron 应该以 root 身份运行它时,它只是不执行它,而是手动执行它?

提前致谢!

【问题讨论】:

  • 添加您的 cron 条目。
  • 在 /etc/crontab: * */2 * * * root /root/file.sh
  • 你试过重启你的 cron 吗?
  • 好吧,我想这就是问题所在。我虽然 cron 会自动读取它.. 无需重新启动服务 mhh :P

标签: bash shell cron crontab


【解决方案1】:

Crontab 不必重新启动。特别是如果您使用命令 crontab -e 编辑您的 crontob。 这里是 man 的台词:

此外,cron 每分钟检查一次以查看其假脱机目录的 modtime(或 /etc/crontab 文件上的 modtime) 已更改,如果已更改,cron 将检查所有 crontabs 文件的 modtime 并重新加载已更改的文件。 因此,只要修改了 crontab 文件,就不需要重新启动 cron。请注意,crontab(1) 命令会更新 modtime 每当它更改 crontab 时,都在假脱机目录中。

奇怪的是,重启 cron 服务解决了你的问题。也许您解决了一些其他可能的问题,例如缺少权限。

您可以在时间格式序列后面添加应该执行命令/脚本的用户(例如 root)。那么这个用户应该授予执行给定命令的权限。

重要提示:cron 文件的最后一行必须是 空行 或 注释行!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多