Рейтинг:0

Как узнать, где запланирована rsync, и как мы можем ее переназначить?

флаг cn

Как узнать, где запланирован rsync? У меня есть rsync, который выполняется с сервера A на сервер B, и мне нужно найти на сервере A, где вызывается rsync, где и как он запланирован. Есть ли файл для этого, где конфигурация установлена ​​​​как для cronjobs? У меня есть некоторые проблемы с производительностью на сервере B, и мне нужно перепланировать rsync, чтобы он выполнялся только в нерабочее время.

флаг in
Я бы, наверное, начал с чего-то простого, например, `grep 'rsync' -R /etc /var/spool/cron /var/log`. Предполагая, что задание или сценарий содержат имя «rsync», которое, вероятно, найдет либо запись в журнале cron, либо crontab, либо, возможно, сценарий. Если вы знаете, когда она запускается, вы можете посмотреть свои журналы и увидеть, как cron выполняет задачу, предполагая, что cron выполняет ее.
Рейтинг:2
флаг pt

К сожалению, rsync не регистрируется автоматически каждый раз, когда он используется. Потребуется некоторая детективная работа.

Хорошая ставка заключается в том, что rsync запускается где-то из «cron». (cron — это система, которая периодически запускает командную строку или сценарий. Например, у меня есть ежечасное задание cron, которое обновляет базу данных, и ежедневное задание cron, которое запускает мои сценарии резервного копирования.)

Крон (на самом деле кронд) ведет журнал всех команд ("заданий"), которые он выполняет в /вар/журнал/хрон. (Некоторые системы Unix/Linux помещают его в другое место. См. справочную страницу.) Вы можете кот этот файл, чтобы изучить его (это текстовый файл).

Конфигурация Cron хранится в /etc или /var/spool/cron или в обоих, в зависимости от вашей системы Unix/Linux. Страница руководства поможет, как и сделать что-то вроде

найти /etc /var -name '*cron*'

Вы можете найти rsync в этих файлах, выполнив что-то вроде:

grep rsync -R /etc /var/spool/cron

Однако задание cron может вызывать скрипт, который вызывает rsync. Это имя сценария может не содержать буквы «rsync». Это может называться «резервное копирование» или «обновление», или, может быть, оно названо в честь системы, из которой данные также загружаются или извлекаются.

Если ваша система использует «systemd», есть вероятность, что она запускается оттуда. Проверьте эти конфигурации с помощью greping /и т.д рекурсивно.

Если ничего из этого не работает, вы можете сделать две вещи в «режиме отчаяния».

  1. Удалить rsync команда для принудительного сбоя резервного копирования. Сообщение об ошибке может появиться в электронной почте (cron отправляет электронное письмо владельцу задания, когда что-то пойдет не так) или в системном журнале. Вы можете просто сделать:
мв /usr/bin/rsync /usr/bin/rsync.НЕ
# Подождите немного, посмотрите, что произойдет.

# Отменить изменение
мв /usr/bin/rsync.НЕ /usr/bin/rsync
  1. Замените rsync сценарием-оболочкой, который регистрирует свои действия, а затем вызывает настоящий rsync.

Создайте файл с именем /usr/bin/rsync.wrapper который содержит:

#!/бин/ш
эхо "$@" >>/var/tmp/my.rsync.log
pwd >>/var/tmp/my.rsync.log
exec /usr/bin/rsync.REAL "$@"

Теперь устанавливаем обертку:

коснитесь /var/tmp/my.rsync.log
chmod a+w /var/tmp/my.rsync.log
chmod a+rx /usr/bin/rsync.wrapper
мв /usr/bin/rsync /usr/bin/rsync.REAL
ln -s /usr/bin/rsync.wrapper /usr/bin/rsync

Когда вы закончите, отмените эти изменения с помощью

рм /usr/bin/rsync
мв /usr/bin/rsync.REAL /usr/bin/rsync

К вашему сведению: я не рекомендую эти две последние идеи (удаление rsync, использование оболочки). Они опасны и могут испортить вашу систему. Однако, если ничего не помогает, решение-оболочка должно помочь!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.