Crontab不显示包含cat命令的shell脚本

时间:2020-10-29 06:53:11

标签: linux shell cron

这是我的crontab代码

* * * * sh /tmp/date_insert.sh

和/tmp/date_insert.sh

date >> /tmp/date.txt
/usr/bin/cat(or just cat) /tmp/date.txt

每分钟,日期都会很好地添加到date.txt中,但是cat date.txt命令什么也没显示。

如何每分钟在终端屏幕上显示date.txt的内容?

1 个答案:

答案 0 :(得分:0)

您提出的要求很奇怪。

如何每分钟在终端屏幕上显示/tmp/date.txt的内容?

您希望看到此文件多长时间?一秒,恒定,一纳秒...?

Cron作业是定期运行的脚本,但并非旨在进行实时终端交互。如果要进行实时终端交互,则必须执行其他操作。

cron-jobs生成的输出(在这种情况下为命令/usr/bin/cat /tmp/date.txt的输出)将发送到您的用户帐户电子邮件。您可以使用mail命令进行检查。但是,如果要检查要更新的文件,则仅使用tail -f命令会更容易。只需输入

$ tail -f /tmp/date.txt

这将在每次/tmp/date.txt更新时更新。

个人而言,我会将您的cronjob更改为以下内容:

# Example of job definition:
# .----------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *   command to be executed
  *  *  *  *  *   date >> /tmp/date.txt
  *  *  *  *  *   /path/to/script.sh >> /tmp/date.txt

script.sh

#!/usr/bin/env bash
date

Cronjobs并不困难,但有时可能会令人困惑。修复错误通常很容易,但是您需要知道如何去做。为此,我建议阅读以下页面: