/etc/cron.hourly/ 中的脚本从未运行

/etc/cron.hourly/ 中的脚本从未运行

我在 /etc/cron.hourly 中有一个脚本:

-rwxr-xr-x 1 root root 85 Dec  6 19:05 /etc/cron.hourly/nvidia_to_exclusive

包含(末尾有一个空行):

#!/bin/bash 

/usr/bin/nvidia-smi -c 1 > /home/user/nvidia-smi_set_exclusive.log

该脚本根本不由 cron 执行,即使使用run-parts /etc/cron.hourly成功地执行它。

可能缺少什么?

答案1

问题是 cron 服务不活动。

当我在这里时,我将总结我发现的制作脚本的所有步骤/etc/cron.hourly/

  • 检查脚本名称是否仅使用有效字符run-parts,即 [a-zA-Z0-9_-]。
    所以使用像.sh.
  • 检查您的脚本是否可执行。
    如果不 :chmod +x /etc/cron.hourly/yourScript
  • 检查您的脚本是否在顶部包含 shebang(#!/bin/bash例如)。
  • 检查您的脚本是否运行run-parts
    run-parts --test /etc/cron.hourly→ 您的脚本应该被打印。
    run-parts /etc/cron.hourly→ 您的脚本应该被执行。
    您可以在末尾检查/var/log/cron脚本是否成功完成。
  • 检查 cron 是否正在运行service crond status
    如果没有:service crond stop 那么service crond start
  • 检查您的是否/var/log/cron包含错误BAD FILE MODE (/etc/cron.d/0hourly)
    如果是这种情况,您可能需要执行chmod 0644 /etc/cron.d/0hourly(cron 不喜欢这个文件是可执行的)。
  • 检查 - 至少在 CentOS 7 上默认情况下 - 是否/etc/cron.d/0hourly存在并包含该行
    01 * * * * root run-parts /etc/cron.hourly

相关内容