saltstack 常用執行模組
saltstack常用執行模組
cron模組
archive模組
cmd模組
cp模組
dnsutil模組
file模組
group模組
network模組
service模組
pkg模組
user模組
一、cron模組
功能:實現被控主機的crontab操作
[root@salt-master ~]# salt '*' sys.list_functions cron
izwz9f8xrvty50quc2gq50z:
- cron.list_tab
- cron.ls
- cron.raw_cron
- cron.rm
- cron.rm_env
- cron.rm_job
- cron.set_env
- cron.set_job
- cron.set_special
- cron.write_cron_file
- cron.write_cron_file_verbose
[root@salt-master ~]# salt '*' sys.doc cron.list_tab
'cron.list_tab:'
Return the contents of the specified user's crontab
CLI Example:
salt '*' cron.list_tab root
檢視minion端定時任務
[root@salt-master ~]# salt '*' cron.list_tab root
為指定的使用者設定cron定時任務
[root@salt-master ~]# salt '*' cron.set_job root '*' '*' '*' '*' 1 /root/a.sh
二、archive模組
功能:實現系統層面的壓縮包呼叫,支援gzip、gunzip、rar、tar、unrar、unzip等
[root@salt-master ~]# salt '*' sys.list_functions archive
izwz9f8xrvty50quc2gq50z:
- archive.cmd_unzip
- archive.cmd_zip
- archive.gunzip
- archive.gzip
- archive.rar
- archive.tar
- archive.unrar
- archive.unzip
- archive.zip
zip/unzip
[root@salt-master tmp]# salt '*' archive.zip /opt/a.zip /tmp/sourcefile1,/tmp/sourcefile2
[root@salt-master ~]# salt '*' archive.unzip /opt/a.zip /tmp/
tar
[root@salt-master ~]# salt '*' archive.tar zcvf /opt/file.tar.bz /tmp/file_1,/tmp/file_2
注:tar不支援模組解壓
gzip/gunzip
[root@salt-master ~]# salt '*' archive.gzip /tmp/b.txt
[root@salt-master ~]# salt '*' archive.gunzip /tmp/a.txt.gz
三、cmd模組
功能:實現遠端的命令列呼叫執行(預設具備root操作許可權,使用時需評估風險)
[root@salt-master ~]# salt '*' sys.list_functions cmd
izwz9f8xrvty50quc2gq50z:
- cmd.exec_code
- cmd.exec_code_all
- cmd.has_exec
- cmd.retcode
- cmd.run
- cmd.run_all
- cmd.run_chroot
- cmd.run_stderr
- cmd.run_stdout
- cmd.script
- cmd.script_retcode
- cmd.shell
- cmd.shells
- cmd.tty
- cmd.which
- cmd.which_bin
cmd.run
[root@salt-master ~]# salt '*' cmd.run 'free -m'
cmd.script
[root@salt-master ~]# salt '*' cmd.script /root/a.sh
cmd.shell
[root@salt-master ~]# salt '*' cmd.shell "sed -i s/zhang/123/g /root/b.txt"
四、cp模組
功能:實現遠端檔案、目錄的複製,以及下載URL檔案等操作
[root@salt-master ~]# salt '*' sys.list_functions cp
izwz9f8xrvty50quc2gq50z:
- cp.cache_dir
- cp.cache_file
- cp.cache_files
- cp.cache_local_file
- cp.cache_master
- cp.get_dir
- cp.get_file
- cp.get_file_str
- cp.get_template
- cp.get_url
- cp.hash_file
- cp.is_cached
- cp.list_master
- cp.list_master_dirs
- cp.list_master_symlinks
- cp.list_minion
- cp.list_states
- cp.push
- cp.push_dir
- cp.recv
cp.cache_local_file
將master端的/etc/hosts檔案複製到minion端的salt cache目錄(/var/cache/salt/minion/localfiles/)
[root@salt-master salt]# salt '*' cp.cache_local_file /etc/hosts
cp.get_dir
將master端salt主目錄下面的目錄複製到minion端的/opt目錄下
[root@salt-master salt]# salt '*' cp.get_dir salt://user/ /opt/
cp.get_url
下載URL內容到被控主機指定位置(/tmp/index.html)
salt '*' cp.get_url http://www.slashdot.ort /tmp/index.html
五、dnsutil模組
功能:實現被控主機通用DNS操作
新增minion端的hosts域名解析資訊
[root@salt-master opt]# salt '*' dnsutil.hosts_append /etc/hosts 10.1.6.16 www.baidu.com
刪除minion端的hosts域名解析資訊
[root@salt-master opt]# salt '*' dnsutil.hosts_remove /etc/hosts www.baidu.com
六、file模組
功能:被控主機常見的檔案操作,包括檔案讀寫、許可權、查詢、校驗
[root@salt-master ~]# salt '*' sys.list_functions file
izwz9f8xrvty50quc2gq50z:
- file.access
- file.append
- file.basename
- file.blockreplace
- file.check_file_meta
- file.check_hash
- file.check_managed
- file.check_managed_changes
- file.check_perms
- file.chgrp
- file.chown
- file.comment
- file.comment_line
- file.contains
- file.contains_glob
- file.contains_regex
- file.contains_regex_multiline
- file.copy
- file.delete_backup
- file.directory_exists
- file.dirname
- file.diskusage
- file.extract_hash
- file.file_exists
- file.find
- file.get_devmm
- file.get_diff
- file.get_gid
- file.get_group
- file.get_hash
- file.get_managed
- file.get_mode
- file.get_selinux_context
- file.get_sum
- file.get_uid
- file.get_user
- file.gid_to_group
- file.grep
- file.group_to_gid
- file.is_blkdev
- file.is_chrdev
- file.is_fifo
- file.is_link
- file.join
- file.lchown
- file.link
- file.list_backup
- file.list_backups
- file.list_backups_dir
- file.lstat
- file.makedirs
- file.makedirs_perms
- file.manage_file
- file.mkdir
- file.mknod
- file.mknod_blkdev
- file.mknod_chrdev
- file.mknod_fifo
- file.move
- file.normpath
- file.open_files
- file.pardir
- file.patch
- file.path_exists_glob
- file.prepend
- file.psed
- file.readdir
- file.readlink
- file.remove
- file.remove_backup
- file.rename
- file.replace
- file.restore_backup
- file.restorecon
- file.rmdir
- file.search
- file.sed
- file.sed_contains
- file.seek_read
- file.seek_write
- file.set_mode
- file.set_selinux_context
- file.source_list
- file.stats
- file.statvfs
- file.symlink
- file.touch
- file.truncate
- file.uid_to_user
- file.uncomment
- file.user_to_uid
- file.write
file.chown
修改所有minion端的/etc/passwd檔案的屬組、使用者許可權,等價於chown root:root /etc/passwd
[root@salt-master ~]# salt '*' file.chown /etc/passwd root root
file.copy
將所有minion端的/root/a.txt檔案複製到/opt/目錄下
[root@salt-master ~]# salt '*' file.copy /root/a.txt /opt/a.txt
將所有minion端的/root/mysql目錄複製到/opt目錄下
[root@salt-master ~]# salt '*' file.copy /root/mysql /opt/mysql recurse=True
file.directory_exists
檢查所有被控主機/etc目錄是否存在,存在則返回True,檢查檔案是否存在使用file.file_exists方法
[root@salt-master ~]# salt '*' file.directory_exists /etc
file.stats
獲取所有被控主機/etc/passwd的stats資訊
[root@salt-master ~]# salt '*' file.stats /etc/passwd
file.get_mode
獲取所有被控主機/etc/passwd的許可權mode,如755,644
[root@salt-master ~]# salt '*' file.get_mode /etc/passwd
修改所有被控主機/etc/passwd的許可權mode為0644
[root@salt-master ~]# salt '*' file.set_mode /etc/passwd 0644
file.mkdir
在所有被控主機建立/opt/test目錄
[root@salt-master ~]# salt '*' file.mkdir /opt/test
file.sed
將所有被控主機/etc/httpd/httpd.conf檔案的LogLevel引數的warn值修改為info
[root@salt-master ~]# salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'
file.append
給所有被控主機的/tmp/test/test.conf檔案追加內容‘maxclient 100’
[root@salt-master ~]# salt '*' file.append /tmp/test/test.conf 'maxclient 100'
file.remove
刪除所有被控主機的/tmp/foo檔案
[root@salt-master ~]# salt '*' file.remove /tmp/foo
file.touch
在所有的minion端的/opt目錄下建立c.txt檔案
[root@salt-master script]# salt '*' file.touch /opt/c.txt
file.move
將所有minion端/root目錄下的a.txt檔案移動到/opt目錄下
[root@salt-master script]# salt '*' file.move /root/a.txt /opt
file.rename
將所有minion端的/root目錄下的a.txt
重新命名為/opt目錄下的b.sh
[root@salt-master script]# salt '*' file.rename /root/a.txt /opt/b.sh
file.find
查詢所有minion端根目錄下所有以.tar.tz結尾的且檔案大小大於2m的檔案
[root@salt-master script]# salt '*' file.find / type=f name=\*.tar.gz size=+2m
查詢所有minion端的/var目錄下30天以內且大於10m的檔案
[root@salt-master script]# salt '*' file.find /var mtime=-30d size=+10m print=path,size,mtime -30d==>30天以內
七、group模組
[root@salt-master script]# salt '*' sys.list_functions group
izwz9f8xrvty50quc2gq50z:
- group.add
- group.adduser
- group.chgid
- group.delete
- group.deluser
- group.getent
- group.info
- group.members
在所有的minion端建立一個gid為1000的zabbix組
[root@salt-master script]# salt '*' group.add zabbix 1000
在所有的minion端刪除zabbix組
[root@salt-master script]# salt '*' group.delete zabbix
八、network模組
[root@salt-master script]# salt '*' sys.list_functions network
izwz9f8xrvty50quc2gq50z:
- network.active_tcp
- network.arp
- network.connect
- network.default_route
- network.dig
- network.get_bufsize
- network.get_hostname
- network.get_route
- network.hw_addr
- network.hwaddr
- network.in_subnet
- network.interface
- network.interface_ip
- network.interfaces
- network.ip_addrs
- network.ip_addrs6
- network.ip_in_subnet
- network.ipaddrs
- network.ipaddrs6
- network.is_loopback
- network.is_private
- network.mod_bufsize
- network.mod_hostname
- network.netstat
- network.ping
- network.reverse_ip
- network.routes
- network.subnets
- network.traceroute
- network.wol
查詢minion端dig、ping、traceroute目錄域名資訊
[root@salt-master script]# salt '*' network.dig www.sina.com
[root@salt-master script]# salt '*' network.ping www.sina.com
[root@salt-master script]# salt '*' network.traceroute www.sina.com
查詢minion端網路卡eth0的實體地址
[root@salt-master script]# salt '*' network.hw_addr eth0
查詢minion端的ip地址
[root@salt-master script]# salt '*' network.ip_addrs
查詢minion端主機的子網資訊
[root@salt-master script]# salt '*' network.subnets
九、pkg模組
[root@salt-master script]# salt '*' sys.list_functions pkg
izwz9f8xrvty50quc2gq50z:
- pkg.available_version
- pkg.check_db
- pkg.clean_metadata
- pkg.del_repo
- pkg.diff
- pkg.download
- pkg.expand_repo_def
- pkg.file_dict
- pkg.file_list
- pkg.get_locked_packages
- pkg.get_repo
- pkg.group_diff
- pkg.group_info
- pkg.group_install
- pkg.group_list
- pkg.hold
- pkg.install
- pkg.latest_version
- pkg.list_holds
- pkg.list_pkgs
- pkg.list_repo_pkgs
- pkg.list_repos
- pkg.list_upgrades
- pkg.mod_repo
- pkg.modified
- pkg.normalize_name
- pkg.owner
- pkg.purge
- pkg.refresh_db
- pkg.remove
- pkg.unhold
- pkg.upgrade
- pkg.upgrade_available
- pkg.verify
- pkg.version
- pkg.version_cmp
在所有的minion端安裝httpd服務
[root@salt-master script]# salt '*' pkg.install httpd
解除安裝所有minion端的httpd服務
[root@salt-master script]# salt '*' pkg.remove httpd
在所有minion端下載httpd軟體包
[root@salt-master script]# salt '*' pkg.download httpd
十、service模組
[root@salt-master packages]# salt '*' sys.list_functions service
izwz9f8xrvty50quc2gq50z:
- service.available
- service.disable
- service.disabled
- service.enable
- service.enabled
- service.execs
- service.force_reload
- service.get_all
- service.get_disabled
- service.get_enabled
- service.mask
- service.missing
- service.reload
- service.restart
- service.show
- service.start
- service.status
- service.stop
- service.systemctl_reload
- service.unmask
在所有的minion端啟動httpd服務
[root@salt-master packages]# salt '*' service.start httpd
在所有的minion端關閉httpd服務
[root@salt-master packages]# salt '*' service.stop httpd
在所有的httpd端檢視httpd服務的狀態
[root@salt-master packages]# salt '*' service.status httpd
在所有的httpd端重新載入一次服務
[root@salt-master packages]# salt '*' service.reload httpd
十一、user模組
[root@salt-master packages]# salt '*' sys.list_functions user
izwz9f8xrvty50quc2gq50z:
- user.add
- user.chfullname
- user.chgid
- user.chgroups
- user.chhome
- user.chhomephone
- user.chloginclass
- user.chroomnumber
- user.chshell
- user.chuid
- user.chworkphone
- user.delete
- user.get_loginclass
- user.getent
- user.info
- user.list_groups
- user.list_users
- user.rename
[root@salt-master packages]# salt '*' sys.doc user.add
'user.add:'
Add a user to the minion
CLI Example:
salt '*' user.add name <uid> <gid> <groups> <home> <shell>
當然,salt常用的執行模組還有很多,後面會根據實際的操作會繼續記錄和總結salt模組
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2653783/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- saltstack常用模組
- saltstack:常用狀態模組
- 【SaltStack】一些常用模組舉例
- Saltstack系列2:Saltstack遠端執行命令
- saltstack常用語法
- saltstack非同步執行命令: job ID非同步
- 執行緒模組執行緒
- 檢視執行緒所在模組執行緒
- Java 執行緒常用操作Java執行緒
- Saltstack系列5:Saltstack之pillar元件元件
- 非同步阻塞,Manager模組,執行緒非同步執行緒
- 【iM_VGA模組】執行 ucgui 演示!GUI
- Perl 多執行緒模組 Parallel::ForkManager執行緒Parallel
- 使用 HTTP 模組執行 URL 重寫HTTP
- 多執行緒常用函式執行緒函式
- 常用模組-02
- Saltstack系列4:Saltstack之Grains元件AI元件
- 通俗易懂,各常用執行緒池執行的-流程圖執行緒流程圖
- vue多專案多模組執行/打包Vue
- 解決binwalk執行提示缺少LZMA模組
- Java 執行緒建立與常用方法Java執行緒
- MySQL 常用DDL執行方式總結MySql
- CentOS6/7 使用saltstack源安裝saltstackCentOS
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- 4.2(2)常用模組
- Nginx常用的模組Nginx
- Python 常用模組Python
- ansible常用模組
- SaltStack實戰
- 深入談一談iOS模組獨立執行iOS
- 在執行時刻更新功能模組 (轉)
- Windows7執行常用命令Windows
- Oracle檢視執行計劃常用方法Oracle
- 序列化模組,subprocess模組,re模組,常用正則
- SaltStack未授權訪問及命令執行漏洞分析(CVE-2020-16846/25592)
- 常用Python模組3Python
- saltstack——安裝篇
- [翻譯] 深入SaltStack