rsync не работает только при запуске через cron

Моя стратегия состоит в том, чтобы добавить к /etc/bash.bashrcследующую строку:

readonly PROMPT_COMMAND='history -a >(logger -t "cmdline $USER[$PWD] $SSH_TTY $SSH_CONNECTION")'

Затем в/etc/rsyslog.conf:

*.* @syslogserver:514

Я предпочитаю этот подход ведению журнала в один файл, так как:

  • файлы ротируются (т.е. не растут слишком сильно)
  • пользователь не удаляет историю
  • он создает удаленный журнал, устойчивый к несанкционированному вмешательству/взлому сервера
  • Журнал ротации на удаленном сервере системных журналов можно изменить, чтобы хранить несколько месяцев регистрации
  • syslog -ng позволяет вам иметь отдельные файлы журналов для каждого IP-адреса регистрации
  • все находится в центре, и вам не нужно вводить несколько подач, чтобы понять, что происходит
  • при прерывании удаленного сеанса bash локальная история теряется, и она не теряется при использовании этого метода
  • также при открытии нескольких сессий одним и тем же пользователем, опять же все команды не попадают в историю, а я их получаю этим методом.
1
05.09.2019, 23:27
1 ответ

Я нашел этот ответ на аналогичный вопрос. В результате :разрешение имени занимает слишком много времени. В результате в скрипте перед rsyncя добавил dig [server.domain.tld], чтобы ответ кэшировался. Бум. Проблема решена.

2
27.01.2020, 23:30

Теги

Похожие вопросы