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