Cron 带Ansible的Shell命令
我想使用Ansible来执行几个命令。在我的例子中,我想创建一个文件系统。这是我的代码:Cron 带Ansible的Shell命令,cron,ansible,Cron,Ansible,我想使用Ansible来执行几个命令。在我的例子中,我想创建一个文件系统。这是我的代码: - name: Create file system raw: | mkdir -p {{ out }} {{ scripts }} {{ sql }} chown -R postgres:postgres {{ root_dir }} lvcreate -n lv_test -L 5G data_vg mkfs.ext4 {{ fs }} mount {{ fs }}
- name: Create file system
raw: |
mkdir -p {{ out }} {{ scripts }} {{ sql }}
chown -R postgres:postgres {{ root_dir }}
lvcreate -n lv_test -L 5G data_vg
mkfs.ext4 {{ fs }}
mount {{ fs }} {{ home }}
when: (target_app == "app")
我想使用
根用户执行所有这些操作。有什么想法吗?您可以使用与以下类似的shell
模块:
- name: set a fact
hosts: localhost
tasks:
- name: add users
become: yes
become_user: root
shell: |
mkdir -p /tmp/blah/moreblah;
chown -R root:root /tmp/blah/moreblah
也就是说,有像file
这样的模块可以为您完成一些提升。例如
# create a directory if it doesn't exist
- file:
path: /etc/some_directory
state: directory
group: root
owner: root
mode: 0755
recurse: yes
一般来说,如果您使用shell来执行日常UNIX命令,则可能是做错了
参考资料
谢谢您的回复,我还有一个关于shell
模块的问题。您可以指定一个用户来执行shell命令吗?我需要成为root用户才能做到这一点。我修改了我的答案,添加了been\u user:root
。这应该符合你的要求。