我在/etc/foo.txt有一个简单的文件.该文件包含以下内容:
#bar
Run Code Online (Sandbox Code Playgroud)
我有以下ansible playbook任务取消注释上面的行:
- name: test lineinfile
lineinfile: backup=yes state=present dest=/etc/foo.txt
regexp='^#bar'
line='bar'
Run Code Online (Sandbox Code Playgroud)
当我第一次运行ansible-playbook时,该行被取消注释,而/etc/foo.txt现在包含以下内容:
bar
Run Code Online (Sandbox Code Playgroud)
但是,如果我再次运行ansible-playbook,我会得到以下内容:
bar
bar
Run Code Online (Sandbox Code Playgroud)
如果我再次运行它,那么/etc/foo.txt文件将如下所示:
bar
bar
bar
Run Code Online (Sandbox Code Playgroud)
如何避免这种重复的行?我只是想取消注释'#bar'并完成它.
我正在将内容从Archetypes迁移到Dexterity,我需要新项目与旧项目具有相同的UID.
在Archetypes项目上,我可以调用context._setUID('my-uid').Dexterity有类似的东西吗?
我正在按照https://github.com/jorilallo/celery-flower-heroku上的说明进行操作上将 Flower celery 监控应用程序部署到 Heroku。
配置和部署我的应用程序后,我在 heroku 日志中看到以下内容:
Traceback (most recent call last):
File "/app/.heroku/python/bin/flower", line 9, in <module>
load_entry_point('flower==0.7.0', 'console_scripts', 'flower')()
File "/app/.heroku/python/lib/python2.7/site-packages/flower/__main__.py", line 11, in main
flower.execute_from_commandline()
File "/app/.heroku/python/lib/python2.7/site-packages/celery/bin/base.py", line 306, in execute_from_commandline
return self.handle_argv(self.prog_name, argv[1:])
File "/app/.heroku/python/lib/python2.7/site-packages/flower/command.py", line 99, in handle_argv
return self.run_from_argv(prog_name, argv)
File "/app/.heroku/python/lib/python2.7/site-packages/flower/command.py", line 75, in run_from_argv
**app_settings)
File "/app/.heroku/python/lib/python2.7/site-packages/flower/app.py", line 40, in __init__
max_tasks_in_memory=max_tasks)
File "/app/.heroku/python/lib/python2.7/site-packages/flower/events.py", line 60, in __init__
state = shelve.open(self._db)
File "/app/.heroku/python/lib/python2.7/shelve.py", line 239, in open
return …
Run Code Online (Sandbox Code Playgroud)