我的脚本在/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/