22

我试图找到一个创建的 cronjob,以确保脚本不会复制相同的完全相同的 cronjob。

我一直在尝试使用这些方面的东西,但运气不佳:

if ! crontab -l | xargs grep -l '/var/www/arix/update.php'; then
  echo "Cronjob already exists"
else
  echo "Cronjob doesn't exist"
fi
4

1 回答 1

41

/var/spool/cron/crontabs是 crontab 文件的常用父目录。那里有一些文件,其中包含用户名——例如,root 是根 crontab。系统上的每个用户都有可能使用 crontab -e 并创建了他/她自己的 crontab。

作为 root,您可以:

cd /var/spool/cron/crontabs
grep  'search string' *

这个命令(作为 root)会告诉你哪个用户的 crontab 有这个字符串。如果它存在。

如果您不确定 crontab 中的内容,您可以这样做。 crontab -l只提供您的 crontab 中的内容,即当前登录的用户。如果您确定这是检查的最佳位置:

crontab -l | grep -q 'search string'  && echo 'entry exists' || echo 'entry does not exist'
于 2013-01-22T03:36:57.540 回答