Где работает эта cronjob?

Где работает эта cronjob?

У нас есть сервер новостей, работающий на CentOS 6.5 box. Это leafnode, и cron настроен на запуск каждые две минуты. Мы решаем отключить его, чтобы устранить другие неполадки, поэтому мы закомментируем строку в crontab:

# */2 * * * * /usr/sbin/fetchnews

Однако по какой-то причине мы все еще получаем обновленные новостные статьи. Поэтому мы решили изменить разрешения этого двоичного файла.

chmod 400 /usr/sbin/fetchnews

Затем каждые две минуты мы начинаем получать электронные письма следующего содержания: «/usr/sbin/fetchnews: разрешение отклонено».

Мы смотрим в /etc/cron/hourly, фактически во всём, что связано с crond в /etc. Его нет в файле crontab пользователя root, его нет в файле crontab пользователя news и его нет в файле crontab любого другого пользователя.

Как узнать, что является причиной запуска этого двоичного файла?

Спасибо.

решение1

Пытаться grep -ri fetchnews /etc/cron* /var/spool/cron/tabs/*.

Есть ли еще какие-нибудь результаты, кроме закомментированной вами строки?

решение2

watch "ps -ef | grep fetchnews"

покажет вам вывод ps -ef | grep fetchnewsкаждые две секунды. В выводе ps -efродительский pid — это третье поле, в данном случае 1458:

ulmi      1462  1458  0 18:20 pts/1    00:00:00 sh -c ps -ef | grep ls

Именно эта работа породила ваш fetchnews, и она может вам помочь в дальнейшем.

(Мой хрустальный шар подсказывает, что, возможно, вы пытались редактировать файлы crontab напрямую? Только запуск crontab -eгарантированно заставит crondоткрыть новую вкладку.)

решение3

Если предположить, что есть пользователь, которому принадлежат файлы новостей, то, скорее всего, в его персональном файле crontab есть запись cron, которая за это отвечает. В системах RHEL cron пользователей поддерживаются здесь:

$ sudo ls -l /var/spool/cron/
total 4
-rw-------. 1 slm slm 9 Oct  6 13:30 slm

Если вы видите там записи, вы можете использовать их sudoдля просмотра содержимого данного файла, например, так:

$ sudo crontab -u slm -l
### blah

Вы можете просто закомментировать записи в этом файле, используя , crontabчтобы отключить его запуск. Если ваша работа довольно короткая, вы также можете временно отключить службу cron:

$ sudo service crond stop

Связанный контент