У меня есть глобальный конфигурационный файл rsnapshot для всех машин, которые мы создаем. В глобальном файле есть
ssh_args -p 123
Файлы, специфичные для компьютера, включают глобальный файл конфигурации и пытаются переопределить порт:
include_conf /etc/rsnapshot-common.conf
ssh_args -p 456
Не получается, получаю ошибку:
global ssh_args можно установить только один раз, но он уже установлен. Возможно, вы хотели вместо этого использовать ssh_args для каждой точки резервного копирования.
Итак, он знает, что я хочу делать, но не говорит мне, как это делать! На странице руководства также не упоминается какой-либо способ сделать это. Как изменить порт после того, как он был настроен глобально?
В rsnapshot страница руководства, похоже, подразумевает, что вы добавляете per-backup-point
аргументы в виде списка, разделенного запятыми, после пункта назначения, в качестве примера они приводят
backup /var/ localhost/ one_fs=1
Это то же самое, что и в других примерах, но обратите внимание на четвертый столбец. Вот как вы указываете параметры для каждой точки резервного копирования, чтобы переопределить глобальные настройки. Этот дополнительный параметр может принимать несколько параметров, разделенных запятыми.
так что я думаю, вы бы использовали
backup /var/ localhost/ ssh_args=-p456
Вы также можете установить глобальный порт для этого пользователя в соответствующем ~/.ssh/config
:
Host example.com
Port 1234
Таким образом, он будет использоваться везде, где есть SSH, и вам не придется каждый раз указывать его вручную.
Я не говорю, что это лучшее решение, просто альтернатива.
rsnapshot.conf - это файл, разделенный табуляцией, поэтому ssh_args может даже содержать пробелы. Мой выглядит так:
backup root@HOSTNAME:/ HOSTNAME/ ssh_args=-p 2220 -i /ssh-id -o StrictHostKeychecking=no