尝试使用crontab添加以下内容会导致第2行出现“糟糕的分钟”错误

时间:2019-01-07 14:50:03

标签: bash ubuntu cron

我不知所措,因为我认为这可能是一个简单的语法错误。是什么在第二行上导致crontab抛出“糟糕的时刻”?预先感谢您的帮助。

#!/bin/bash
if pgrep -fx "plexdrive mount -v 3 --chunk-check-threads=16 --chunk- 
load-threads=16 --chunk-load-ahead=16 --max-chunks=256 /home/username/files/Google/" > /dev/null
then
echo "Plexdrive is running."
else 
echo "Plexdrive is not running, starting Plexdrive"
fusermount -uz /home/username/files/Google/
screen -dmS plexdrive plexdrive mount -v 3 --chunk-check-threads=16 --chunk-load-threads=16 --chunk-load-ahead=16 --max-chunks=256 /home/username/files/Google/
fi
exit

命令:pgrep -fx "plexdrive mount -v 3 --chunk-check-threads=16 --chunk-load-threads=16 --chunk-load-ahead=16 --max-chunks=256 /home/username/files/Google/" 直接在命令行中运行完全正常(返回进程号),所以我敢肯定我只是不了解如何正确编写逻辑语句。

注意:服务器是远程的,我只是一个用户。我有能力添加到cron中,但不能添加到服务中-因此,这种方法可以解决确保plexdrive(通过熔丝)始终保持该安装点有效的问题。

1 个答案:

答案 0 :(得分:1)

应该阅读what a crontab should look like。在任何情况下都不是bash来源。它是开始(程序和)bash脚本的配置文件,而不是包含 bash脚本的文件。

crontab行包含以下字段:

  • 分钟
  • 小时,
  • 一个月的一天
  • 星期几,

每个都指定了何时运行命令,以及

  • 要运行的命令。

也就是说,如果您希望脚本在每个整小时后的五分钟内运行,并且脚本名为“ my_check_script”(在PATH中),则crontab行应如下所示:

5  *  *  *  *  my_check_script

查看链接的文档以获取更多详细信息。