22

スクリプトがまったく同じcronジョブを複製しないようにするために作成されたcronジョブを見つけようとしています。

私はこれらの線に沿って何かを使おうと試みてきましたが、あまり運がありませんでした:

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/crontabscrontabファイルの通常の親ディレクトリです。ユーザーの名前を持つファイルがあります。たとえば、rootはルートcrontabです。システム上のすべてのユーザーがcrontab-eを使用して、独自のcrontabを作成した可能性があります。

ルートとしてあなたはすることができます:

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 に答える