Linux

加隆 |使用 $HOSTNAME 環境變數

  • December 11, 2018

我正在使用 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 中不可用;並將“主機名”傳遞到 rsync 路徑中。

如何讓 $HOSTNAME 變數在 Incrond 中工作?

我會建議這種解決方法

我不會觸發實際的 rsync 命令,而是讓 incrond 觸發包含 rsync 命令的 bash 腳本執行,並且在執行期間腳本環境中可以使用 HOSTNAME 命令。

顯然,您首先必須先部署此腳本,但是當您使用 puppet 時,這應該不是困難的部分。

引用自:https://serverfault.com/questions/943652