我希望在Mac上使用launchd在后台运行telegraf。我正在使用无法通过自制软件安装的自定义telegraf二进制文件。因此,telefgraf本身已设置并正在运行。我用以下命令创建了telegraf.plist文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>telegraf</string>
<key>ServiceDescription</key>
<string>Telegraf Binary</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/telegraf/telegraf.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
我不确定运行telegraf的字符串是否应该指向/usr/local/bin/telegraf/telegraf.cong。这是因为,在终端中,我可以通过以下方式运行它(并查看事件):
sudo ./telegraf --config telegraf.conf
数组中字符串值的正确值应该是什么?
答案 0 :(得分:0)
ProgramArguments
数组应包含要运行的程序的路径,后跟要传递给它的参数(每个数组元素一个)。所以也许是这样的(假设程序本身在/ usr / local / bin / telegraf / telegraf):
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/telegraf/telegraf</string>
<string>--config</string>
<string>/usr/local/bin/telegraf/telegraf.conf</string>
</array>
如果telegraf对您的环境有任何其他依赖关系(例如,它是否要求工作目录为/ usr / local / bin / telegraf?是否需要任何环境变量?),则可能需要添加到.plist进行配置。正确。
答案 1 :(得分:0)
就我而言,我的脚本适用于macOS Mojave。通过launchd
在macOS Catalina 10.15.3上运行脚本的缺少的步骤是:
系统偏好设置> 安全和隐私> 隐私> 全盘访问> 终端>启用