小编nul*_*tek的帖子

在 cron 中将 wget 输出管道传输到 /dev/null

我每 5 分钟在我的 crontab 中运行以下命令以保持 Phusion 乘客的存活。

*/5 * * * * wget mysite.com > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它会在站点 url 上执行 wget,将 STDOUT/STDERR 路由到 /dev/null。当我从命令行运行它时,它工作正常并且不会在我的主目录中生成 index.html 文件。

当它从 cron 运行时,它每五分钟创建一个新的 index.html 文件,给我留下大量我不想要的索引文件。

运行 cron 作业时我的语法不正确吗?从命令行它可以正常工作,但从 cron 它在我的主目录中生成一个 index.html 文件。

我确定我犯了一个简单的错误,如果有人能帮忙,我将不胜感激。

linux bash wget

48
推荐指数
4
解决办法
6万
查看次数

如何使用 Ansible 按顺序运行多个剧本?

我正在编写几个 Ansible 剧本来启动一个新的服务器实例。我需要按特定顺序运行大约 15 个不同的剧本才能成功启动服务器。

我最初的想法是编写一个 shell 脚本,该脚本执行ansible-playbook playbook_name.yml并为我需要运行的每个剧本复制一个条目。

有没有更聪明/更好的方法来使用主剧本来做到这一点,如果是这样,它会是什么样子(示例值得赞赏)。

我可以编写一个完整的剧本来完成所有工作,但有些剧本首先以 root 身份运行,然后以 sudo 用户身份运行。

ansible ansible-playbook

27
推荐指数
3
解决办法
5万
查看次数

Sensu 只处理每 180 次出现

我安装了最新的 sensu-core 并且我已经使用 omnibus 包安装了 sensu-plugin gem。

Sensu 已启动并正常运行,但我遇到了处理程序的主要问题。我已经设置了来自社区插件的标准 ruby​​ mailer.rb 以及 pagerduty 处理程序。

当我将处理程序添加到我知道在日志中失败的检查时,我看到:

{\"id\":\"a1e807d2-425f-4891-b291-ed5bda5b6105\",\"client\":{\"name\":\"mfp\",\"address\":\"25.147.26.157\",\"subscriptions\":[\"test\"],\"version\":\"0.20.0\",\"timestamp\":1437673191},\"check\":{\"command\":\"/etc/sensu/plugins/check-disk.sh -d /dev/md1 -w 80 -c 90\",\"interval\":10,\"handlers\":[\"default\",\"pagerduty\",\"mailer\"],\"occurrences\":3,\"subscribers\":[\"test\"],\"name\":\"disk\",\"issued\":1437673279,\"executed\":1437673201,\"duration\":0.01,\"output\":\"CRITICAL - /dev/md1 space used=94% | '/dev/md1 usage'=94%;80;90;\\n\",\"status\":2,\"history\":[\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"total_state_change\":0},\"occurrences\":513,\"action\":\"create\"}"]}
{"timestamp":"2015-07-23T12:41:20.873279-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: ws/disk\n"]}
{"timestamp":"2015-07-23T12:41:20.873561-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: wwv/disk\n"]}
{"timestamp":"2015-07-23T12:41:21.055407-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: mfp/disk\n"]}
Run Code Online (Sandbox Code Playgroud)

所以看起来处理程序正在触发但被 sensu-handler.rb gem 过滤,而不是创建电子邮件或 pagerduty 事件。

这是违规行

only handling every 180 occurrences
Run Code Online (Sandbox Code Playgroud)

有谁知道问题是什么?这是一个错误吗?我需要覆盖某些东西吗?对于此特定检查 (check_disk),我在 sensu 中发生了大量事件,因此它应该触发 pagerduty 和邮件程序。

sensu

7
推荐指数
2
解决办法
3928
查看次数

标签 统计

ansible ×1

ansible-playbook ×1

bash ×1

linux ×1

sensu ×1

wget ×1