linux - 脚本的crontab

标签 linux shell cron

我的脚本在/u01/software/aditya/script/目录下。脚本的名称是 myscript.sh。我能够运行此脚本并获得输出。我试图在每天早上 6.30 为这个脚本设置一个 cronjob。我以 root 用户身份执行此操作。我已完成以下步骤但未获得输出。

crontab -e
30 06 * * * sh /u01/software/aditya/script/myscript.sh >> /u01/software/aditya/hello.log
:wq

但在 hello.log 文件中没有得到任何更新 :( 。请帮忙……。

最佳答案

首先检查您的 cron 日志文件,该文件通常位于 /var/log/syslog 中。应该有类似于

的条目
Sep 17 06:30:01 localhost CRON[17725]: (root) CMD (sh /u01/software/aditya/script/myscript.sh >> /u01/software/aditya/hello.log)

如果不是,则您的脚本从未运行过。这可能是由于损坏的 crontab 文件造成的。您应该确保此文件始终以 换行符 结尾,最好在末尾插入多个换行符,以免意外删除一个不会破坏文件。

如果此行存在于日志文件中,那么您的脚本已运行,但未生成任何输出。这可能是由于通过 cron 运行时的不同环境造成的。

另请注意,>> 仅重定向 stdout,而不是 stderr。如果您也想重定向 stderr,请在该行的末尾添加 2>&1

关于linux - 脚本的crontab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12453681/

相关文章:

C:提供正则表达式作为 open() 的参数?

64 位系统内核模块中的 C++ 支持

windows - 在 Windows 中以编程方式创建 shell 脚本并通过 cygwin 在 Linux 系统上运行它?

regex - 用于翻译一行中以制表符分隔的第三个单词的 Shell 脚本

linux - "Not enough clusters for a 16 bit FAT",但我超过了最小尺寸。为什么?

linux - 将文件夹从未知位置移动到服务器上的不同位置

c - 在 C 中更新多维数组

python - 使用工作层在 Elastic Beanstalk 上使用 Django 设置计划/cron 作业

linux - cron-job linux apache ssl

mysql - 如何在多次插入后提交