- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须在 Ansible 中创建 crontab,这样呈现的 crontab 应该有多个 MAILTO
,它基于以下 cron 任务。例如,最终的 crontab 可能如下所示
MAILTO=person1@domain.com
#Ansible: TEST 1
0 * * * * ls -ahl > /dev/null
MAILTO=person2@domain.com
#Ansible: TEST 2
1 * * * * ls -ahl > /dev/null
MAILTO
是一个环境变量,如果我多次指定它,它会被覆盖使用 env
的剧本示例。
- cron:
env: true
name: MAILTO
job: person1@domain.com
state: "present"
insertbefore: "TEST 1"
- cron:
name: "TEST 1"
job: "ls -ahl > /dev/null"
state: "present"
minute: "0"
hours: "5,2"
- cron:
env: true
name: MAILTO
job: person2@domain.com
state: "present"
insertbefore: "TEST 2"
- cron:
name: "TEST 2"
job: "ls -ahl > /dev/null"
state: "present"
minute: "1"
hours: "4,2"
但运气不好,我也尝试过使用 cronvar
- cronvar:
name: MAILTO
value: person1@domain.com
state: "present"
insertbefore: "TEST 1"
- cron:
name: "TEST 1"
job: "ls -ahl > /dev/null"
state: "present"
minute: "0"
hours: "5,2"
- cronvar:
name: MAILTO
value: person2@domain.com
state: "present"
insertbefore: "TEST 2"
- cron:
name: "TEST 2"
job: "ls -ahl > /dev/null"
state: "present"
minute: "1"
hours: "4,2"
再次失败
有人能指出实现这一目标的方法吗?
最佳答案
因为 cronvar
旨在向文件添加变量,这些文件是唯一的,因为我不完全确定 that comment有多个 MAILTO
crontab
的所有实现都有可能,所以 Ansible 很可能不会支持它,我想你最好的选择是求助于一个普通的旧 lineinfile
.
当然,这不太好的部分是您必须创建一个主机、播放或任务变量来保存 crontab 文件的路径。
我快速浏览了文档,但似乎没有提供用户实际 crontab 的事实,因为它似乎是 the cron module code itself 的一部分。 ,我不确定是否有一种很好的方法可以从 Ansible 本身找到它。
另一方面,标识应在何处添加行的部分似乎是 future 的证明,因为它已明确记录为预期行为:
When crontab jobs are managed: the module includes one line with the description of the crontab entry
"#Ansible: <name>"
corresponding to the “name” passed to the module, which is used by future ansible/module calls to find/check the state. The “name” parameter should be unique, and changing the “name” value will result in a new cron task being created (or a different one being removed).
来自文档:https://docs.ansible.com/ansible/2.9/modules/cron_module.html
有了这一切,给定剧本:
- hosts: all
gather_facts: no
vars:
cron_file: /etc/crontabs/root
tasks:
- cron:
name: "TEST 1"
job: "ls -ahl > /dev/null"
state: "present"
minute: "0"
hour: "5,2"
register: cron
- lineinfile:
path: "{{ cron_file }}"
insertbefore: '#Ansible: TEST 1'
line: 'MAILTO=person1@domain.com'
- cron:
name: "TEST 2"
job: "ls -ahl > /dev/null"
state: "present"
minute: "1"
hour: "4,2"
- lineinfile:
path: "{{ cron_file }}"
insertbefore: '#Ansible: TEST 2'
line: 'MAILTO=person2@domain.com'
这产生了回顾:
PLAY [all] *********************************************************************************************************
TASK [cron] ********************************************************************************************************
changed: [localhost]
TASK [lineinfile] **************************************************************************************************
changed: [localhost]
TASK [cron] ********************************************************************************************************
changed: [localhost]
TASK [lineinfile] **************************************************************************************************
changed: [localhost]
PLAY RECAP *********************************************************************************************************
localhost : ok=4 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
并且在Alpine的/etc/crontabs/root中用来测试:
MAILTO=person1@domain.com
#Ansible: TEST 1
0 5,2 * * * ls -ahl > /dev/null
MAILTO=person2@domain.com
#Ansible: TEST 2
1 4,2 * * * ls -ahl > /dev/null
最后但同样重要的是,重新运行完全相同的剧本表明幂等性得到尊重:
PLAY [all] *********************************************************************************************************
TASK [cron] ********************************************************************************************************
ok: [localhost]
TASK [lineinfile] **************************************************************************************************
ok: [localhost]
TASK [cron] ********************************************************************************************************
ok: [localhost]
TASK [lineinfile] **************************************************************************************************
ok: [localhost]
PLAY RECAP *********************************************************************************************************
localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
关于cron - 在 crontab 中拥有多个 MAILTO 环境变量的可靠方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64285237/
在我的网页中,我向 WCF 服务发出 Ajax 请求。如果服务抛出错误,则该错误将在 JSON 中传回。然后,JavaScript 错误处理程序会显示一个隐藏的 div,其中包含一个预先填充了我的详细
是否有办法阻止在 Chrome 中单击 mailto 链接时调用 onbeforeunload ?在 FF、Safari、IE 中运行良好。 google.load("j
是否可以将 mailto 放在另一个 mailto 的正文中? 我有 vb.net 代码,通过它我可以打开 Outlook 窗口。 我有以下代码, sMsg = User.Redirect("mail
我正在向我公司的不同用户发送电子邮件。我们的一些客户使用 Lotus Notes (8)。这些电子邮件由服务器生成。在这封电子邮件(HTML 格式)中,有一个指向“mailto”的链接: Please
我已经使用下面的代码让它正常工作了。所有 http url 在 webview 中打开,“tel:”链接在拨号程序中打开,“mailto:”链接在电子邮件客户端中打开。 但我的问题是如何将“mailt
我正在使用以下代码来允许我的 AngularJS 应用程序用户使用他们最喜欢的邮件客户端发送电子邮件,但是当我单击“发送”按钮时没有任何 react 。有人可以检查我的代码并告诉我我在这里缺少什么吗?
无论如何,我可以对空收件人使用“mailto”吗?我只想提供主题和邮件正文,然后用户可以在邮件上写入收件人地址。我尝试只写一个空格,但没有成功。 最佳答案 应该可以,我测试过。 mailto:?sub
我有一个带有“下订单”按钮的网站,其上方是产品列表和文本框,允许我为每种产品设置数量。 单击按钮后,它会发回并计算每种产品需要多少,然后我将其放入一个大字符串中,前面带有“mailto:order@b
我正在尝试在当前 html 页面之外的客户端生成一封电子邮件(更准确地说,是我的页面内名为“inc”的 div)。我陷入了第一步,我有以下代码: function emailCurrentPa
我目前设置了一个包含 5 个单选选项的表单。我有一个 switch 语句,具体取决于您选择的选项,并确定电子邮件的去向。 在我的交换机中,我有这段代码。 window.open("mailto:"+e
我已将商品添加到“购物车”中,该购物车只是 div 。当我添加它们时,我添加了 到最后让事情看起来整洁。完成后,用户可以点击链接和 div 的内容。已在链接中设置。当电子邮件打开时,所有项目都连接在一
是否有比 mailto 更好的替代方案?我们有一个 ASP.net 应用程序,用于填充用户默认电子邮件客户端的抄送字段。问题在于,当字符数超过 2000 时,URL 的字符限制会导致出现问题。 是否有
在我的网站上添加 mailto: 链接,但我想到用户可能没有设置客户端来处理它 我找到了this三年前的帖子,希望现在有一些可行的事情。我不一定需要弄清楚是什么在处理他们的 mailto 链接,而是需
我尝试发送一封带有附件的电子邮件,但它一直显示: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException:
我有一个这样的网址:http://localhost:9001/view/shopindex/display?keyword=test&searchPostcode=Postcode我使用 HTML
我有一个 JavaScript 代码,可以生成正文中带有链接的电子邮件。 某些链接内有空格,因此链接会被切断。 我尝试用asacii代码替换空格,但没有成功。 var lineBreak = "%0D
有人可以透露一些信息吗? 我正在建立一个网站,顶部有一个小丝带来触发邮件。单击功能区时,我希望它弹起。问题是,mailto: 同时触发,并且由于电子邮件客户端窗口出现在网站上,因此错过了功能区的弹跳效
我必须对现有代码进行修改,而且我正在努力使用 mailto 函数。我希望当我提交我的表单时,预填充的邮件会打开 Outlook(或配置的任何其他邮件程序),以便用户可以检查是否一切正常,然后提交带有表
我正在使用 JavaScript mailto 函数,当单击该按钮时,邮件会加载到同一选项卡中。如何在新选项卡中加载邮件? 这是我的代码: function mailJob(code) {
我正在尝试从需要在移动设备上运行的网络应用程序(带有 ionic 框架的 angularjs)中使用 mailto,以便在点击时打开默认的电子邮件应用程序。 我的第一次尝试是使用 href="mail
我是一名优秀的程序员,十分优秀!