Thứ Tư, 16 tháng 4, 2014

salt.states.cmd- thực thi command tùy ý

salt.states.cmd
cmd state module quản lý việc thực thi các lệnh được gọi. State này có thể gọi  lệnh chạy theo các trường hợp người dùng định sẵn:

Một ví dụ cơ bản trong việc  gọi thực thi một command:

date > /tmp/salt-run:
  cmd.run

Chỉ chạy khi các execution khác bị lỗi, trong trường hợp này sé ngắt hệ thống log nếu disk bị đầy:

> /var/log/messages:
  cmd.run:
    - unless: echo 'foo' > /tmp/.test

Chỉ chạy khi file được xác định với creates không tồn tại, trong trường hợp này sẽ tạo file /tmp/foo nếu nó không tồn tại:

touch /tmp/foo:
  cmd.run:
    - creates: /tmp/foo


Note that when executing a command or script, the state (i.e., changed or not) of the command is unknown to Salt's state system. Therefore, by default, the cmd state assumes that any command execution results in a changed state.

This means that if a cmd state is watched by another state then the state that's watching will always be executed due to the changed state in the cmd state.


Một số state cơ bản hay dùng:
1. salt.states.cmd.mod_watch(name, **kwargs)
Thực hiện một cmd function dựa trên một watch call
salt.states.cmd.run(name, onlyif=None, unless=None, creates=None, cwd=None, user=None, group=None, shell=None, env=None, stateful=False, umask=None, output_loglevel='info', quiet=False, timeout=None, **kwargs)

Chạy một command trong một trường hợp tùy ý, sử dụng cmd.wait nếu bạn muốn sử dụng 'watch' function

name:
thên của command. Hãy nhớ rằng đó là command sẽ được thực thi với đường dẫn cà permission của salt-minion

onlyif:
một command được chạy như một check, chạy command đó chỉ khi kết quả của command được thông qua trong function onlyif đó trả về là true

unless:
Một command chạy như một check, chạy command đó chỉ khi kết quả trả về khi chạy command trong unless function đó là false

cwd:
thư mục hiện tại để thực thi command  trong đó, default là root

user, group
username và group  chạy lệnh đó

shell
the shell để thục hiện command đó, default là /bin/sh

env
list các môi trường được thiết lập ưu tiên để thực hiện command đó

umask
The umask (in octal) to use when running the command :v

stateful
creates
chỉ chạy lênh đó nếu file được xác định bởi creates không tồn tại

2. salt.states.cmd.script(name, source=None, template=None, onlyif=None, unless=None, creates=None, cwd=None, user=None, group=None, shell=None, env=None, stateful=False, umask=None, timeout=None, **kwargs)

dowload script và thực thi nó với các tham số được xác định

source
nguồn để tải script đó về
template
template của file tải về
name
tên file, nơi đặt file được tải về
timeout
thiết lập thời gian tải script
creates
chỉ chạy lệnh tải script đó về khi file được xác định không tồn tại

3. salt.states.cmd.wait(name, onlyif=None, unless=None, creates=None, cwd=None, user=None, group=None, shell=None, env=(), stateful=False, umask=None, **kwargs)

Chạy lệnh chỉ khi statement trong watch thay đổi hoặc đã được thực hiện


4. salt.states.cmd.wait_call(name, func, args=(), kws=None, onlyif=None, unless=None, creates=None, stateful=False, **kwargs)

5. salt.states.cmd.wait_script(name, source=None, template=None, onlyif=None, unless=None, cwd=None, user=None, group=None, shell=None, env=None, stateful=False, umask=None, **kwargs)

chỉ tải script về khi statement được xác định bởi watch được thay đổi hoặc thực hiện

Không có nhận xét nào:

Đăng nhận xét