Это странный вопрос, и я знаю, что ответ будет чем-то простым, что я упустил из виду... Мне досталась ответственность за сервер Linux, на котором установлена старая версия Ubuntu 10.04. На нем каждый час запускается скрипт резервного копирования, но я не могу выяснить, откуда он запускается.
В журналах аутентификации я вижу запись каждый час, точно соответствующую времени запуска резервного копирования, что позволяет предположить, что это задание cron:
"pam_unix(cron:session): session opened for user root"
Это не удаленная команда по SSH, поскольку ей не предшествовала запись сеанса SSH.
Я выполнил следующую команду, чтобы вывести список всех заданий cron пользователя, но она не дала никаких результатов ни для кого:
"for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done"
Это тоже не anacron... Что еще есть? Есть предложения, где мне искать дальше? Я думаю, что потенциально есть приложение GUI, а запись в журнале аутентификации вводит в заблуждение.
заранее спасибо
решение1
Сообщение приходит от PAM, к которому обращаются каждый раз при запуске оболочки. Смотрите содержимое /etc/pam.d
, особенно файлов /etc/pam.d/common-session
и /etc/pam.d/cron
.
Это сообщение означает, что где-то действительно есть cronjob, который запускается пользователем root. Это не значит, что задание что-то делает (например, оно может просто проверить, достаточно ли велик определенный файл журнала для ротации, и выйти без ротации).
Определения cronjobs распределены по нескольким каталогам и файлам. Для пользователя root вам следует взглянуть на файл /etc/crontab
, вывод crontab -l -u root
и содержимое каталогов /etc/cron.hourly
, /etc/cron.daily
, /etc/cron.weekly
, /etc/cron.monthly
и /etc/cron.d
. Последний содержит традиционные таблицы определений cronjob, тогда как все остальные каталоги содержат исполняемые скрипты или двоичные файлы, которые запускаются cron с точкой, указанной в имени каталога (для получения дополнительной информации см. man run-parts
).