使用crontab -l搜索cronjob

时间:2013-01-22 02:59:31

标签: linux bash grep cron

我正在尝试找到一个创建的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

1 个答案:

答案 0 :(得分:27)

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

作为root你可以:

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

此命令(以root身份)将告诉您用户的crontab具有该字符串。如果它存在。

如果你不确定crontabs是什么,你会这样做。crontab -l只提供你的crontab中的东西,当前登录的用户。如果你确定这是最好的地方检查:

crontab -l | grep -q 'search string'  && echo 'entry exists' || echo 'entry does not exist'