Linux上的Crontab

时间:2019-02-19 20:22:52

标签: linux cron

我听不懂,我看了几个论坛来帮助我,等等。。。但是它仍然行不通! 感谢Cron,我想运行一个脚本! 为了尝试,我目前正在尝试执行一个脚本,该脚本在命令中发送“ test” (使用 echo test )。没问题,如果我调用该文件,此脚本可以完美地手工完成。 但是我试图每分钟用Crontab -e运行文件,但是我已经等了几分钟,但没有结果。 而且我真的不明白为什么!

已经告诉我将#! /bin/bash放在脚本的代码开头,但是当我将其放在脚本中时,会出现错误,并且无法手动执行代码。而如果我什么都没输入,则代码可以平稳运行。 所以我不知道那是错误的根源,也许.....

最终目标是制作一个每天运行的脚本,例如用sync; echo 3 > /proc/sys/vm/drop_caches清除缓存。 如果我没记错的话, Crontab中的内容应该是什么: 00 20 * * * PATH

您有帮助我的解决方案吗?

编辑: -bash: /root/Discord/script/cache.sh: /bin/bash^M: bad interpreter: No such file or directory是我在运行/root/Discord/script/cache.sh来执行脚本时遇到的错误。当我没有#! /bin/bash时,该命令将起作用。但这在我在目录中使用sh cache.sh时仍然有效,即使使用#! /bin/bash

1 个答案:

答案 0 :(得分:1)

Crontabs不会在打开的终端上打印输出。您需要创建一个文件,然后将输出附加到此处以查看或测试其是否有效。您可以参考此答案https://stackoverflow.com/a/28856563/7181668

但是,如果要通过cron运行Shell脚本文件,则需要确保已对该文件授予可执行权限,然后可以在crontab -e中使用以下命令

 * * * * * /bin/sh /home/myUser/scripts/test.sh