Incrond | Используйте переменную окружения $ HOSTNAME

Я использую Incrond для проверки папки на наличие изменений файлов, которые запускают задание Rsync на нашем сервере хранения. Эта конфигурация развертывается через Puppet, и поэтому хотелось бы использовать переменную $ HOSTNAME в пути назначения, чтобы она записывала в свой собственный каталог.

/path/to/backup/ IN_CLOSE_WRITE,IN_CREATE,IN_MODIFY,IN_MOVED_TO,IN_CLOSE_NOWRITE /usr/bin/rsync -t --password-file=/etc/rsyncd.secrets /path/to/backup/$# rsync://rsync@STORAGESERVER/storage/$HOSTNAME/backup/$#

Однако эта переменная имени хоста недоступна в Incrond; и просто передает "hostname" в путь rsync.

Как я могу заставить переменную $ HOSTNAME работать в Incrond?

0
задан 10 December 2018 в 15:56
1 ответ

Я бы предложил этот обходной путь :

Вместо запуска действительной команды rsync я бы заставил incrond запускать выполнение сценария bash, содержащего команду rsync, и вы команда HOSTNAME должна быть доступна в среде сценария во время ее выполнения.

Очевидно, вам сначала нужно развернуть этот сценарий, но, поскольку вы используете марионетку, это не должно быть сложной частью.

0
ответ дан 5 December 2019 в 05:00

Теги

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