如何解决如何删除角色?从日志文件名?
每次运行剧本时,ansible都会创建一个日志文件。不知道为什么会有一个?插入。
getcpu_and_mem_lin?2020-08-25.log
如何删除?在文件中?
如何添加。代替?代替?
一些背景: 我有一个外壳包装,可以在我的.bashrc中给我一个新的日志文件,其中包含剧本名称和日期/时间,并带有一个别名。
ansible-playbook-wrapper.sh
#!/bin/bash
export ANSIBLE_LOG_PATH=/home/myuser/log/$(echo $1 | cut -d . -f 1 && date "+%Y-%m-%d").log
ansible-playbook $@
在我的.bashrc中
alias ansible-playbook="/home/myuser/ansible-playbook-wrapper.sh"
解决方法
Q:“如何添加。代替?”
简短的答案:将命令分开并在命令之间插入点号
$(echo $1 | cut -d . -f 1).$(date "+%Y-%m-%d")
包装程序的第一个参数应该是剧本文件。让我们将$1
替换为playbook.yml
并进行测试
shell> echo playbook.yml | cut -d . -f 1 && date "+%Y-%m-%d"
playbook
2020-08-26
这给了我们2行。这不是我们想要的。让我们测试环境变量
shell> export ANSIBLE_LOG_PATH=/home/myuser/log/$(echo playbook.yml | cut -d . -f 1 && date "+%Y-%m-%d").log
shell> echo $ANSIBLE_LOG_PATH
/home/myuser/log/playbook 2020-08-26.log
由于新行,playbook
和2020-08-26
之间有空格。让我们修复它并分别运行命令
shell> export ANSIBLE_LOG_PATH=/home/myuser/log/$(echo playbook.yml | cut -d . -f 1)$(date "+%Y-%m-%d").log
shell> echo $ANSIBLE_LOG_PATH
/home/myuser/log/playbook2020-08-26.log
好。没有空间了。让我们使其更具可读性,并在其后加上点“。”。在playbook
和2020-08-26
shell> export ANSIBLE_LOG_PATH=/home/myuser/log/$(echo playbook.yml | cut -d . -f 1).$(date "+%Y-%m-%d").log
shell> echo $ANSIBLE_LOG_PATH
/home/myuser/log/playbook.2020-08-26.log
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。