Linux
加隆 |使用 $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 中不可用;並將“主機名”傳遞到 rsync 路徑中。
如何讓 $HOSTNAME 變數在 Incrond 中工作?
我會建議這種解決方法:
我不會觸發實際的 rsync 命令,而是讓 incrond 觸發包含 rsync 命令的 bash 腳本執行,並且在執行期間腳本環境中可以使用 HOSTNAME 命令。
顯然,您首先必須先部署此腳本,但是當您使用 puppet 時,這應該不是困難的部分。