Разрешение, отклоненное при выполнении logrotate с anacron

Существует две вещи рассмотреть здесь:

  1. Это кажется, что Вы не используете bash на удаленном сервере так Ваш .bashrc и .bash_profile не будет считан.

  2. ssh запускает оболочку входа в систему на удаленном сервере поэтому, даже если Вы работали bash, .bashrc не был бы считан. Тот файл только читается интерактивным, оболочками невхода в систему.

Много оболочек входа в систему, однако, чтения ~/.profile. Я не могу быть уверен, так как Вы не упомянули, какую оболочку Вы используете, но возможности - это, если Вы добавляете эту строку к Вашему ~/.profile файл (на удаленном сервере) Вы получите свой переменный набор:

PYTHONPATH="place/stuff/this_goes_on_forever"

Так как Вы работаете tcsh, файлы запуска отличаются. От man tcsh:

   A login shell begins  by  executing  commands  from  the  system  files
   /etc/csh.cshrc  and  /etc/csh.login.   It  then  executes commands from
   files in  the  user's  home  directory:  first  ~/.tcshrc  (+)  or,  if
   ~/.tcshrc  is not found, ~/.cshrc, then ~/.history (or the value of the
   histfile shell variable), then ~/.login, and finally ~/.cshdirs (or the
   value  of  the  dirsfile  shell  variable)  (+).   The  shell  may read
   /etc/csh.login before instead of  after  /etc/csh.cshrc,  and  ~/.login
   before  instead  of  after  ~/.tcshrc or ~/.cshrc and ~/.history, if so
   compiled; see the version shell variable. (+)

Так, необходимо добавить Ваш setenv команда к ~/.tcshrc на удаленном сервере.

Наконец, так как это кажется, что Вы больше привыкли к bash, почему Вы не изменяете оболочку, которую Вы используете на удаленном сервере? Просто войдите в систему сервера и затем работайте

chsh

Дайте его /bin/bash поскольку Ваша оболочка по умолчанию и все эти проблемы уходят. Вы затем сможете установить переменные и псевдонимы, как Вы ожидали бы путем редактирования ~/.profile или ~/.bash_profile на удаленном сервере.

3
13.04.2017, 15:36
1 ответ

Только что прошел через это с помощью clamd. Убедитесь, что пользователь, запускающий logrotate, имеет разрешение на запись в /var/log/mariadb.

Попробуйте su root root в верхней части директивы конфигурации.

1
27.01.2020, 21:31

Теги

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