博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
saltstack使用指南----常用执行模块
阅读量:6406 次
发布时间:2019-06-23

本文共 10123 字,大约阅读时间需要 33 分钟。

saltstack常用执行模块

cron模块archive模块cmd模块cp模块dnsutil模块file模块group模块network模块service模块pkg模块user模块

一、cron模块:

功能:实现被控主机的crontab操作[root@salt-master ~]# salt '*' sys.list_functions cronizwz9f8xrvty50quc2gq50z:- 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 crontabCLI 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 archiveizwz9f8xrvty50quc2gq50z:- archive.cmd_unzip- archive.cmd_zip- archive.gunzip- archive.gzip- archive.rar- archive.tar- archive.unrar- archive.unzip- archive.zipzip/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 cmdizwz9f8xrvty50quc2gq50z:- 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_bincmd.run    [root@salt-master ~]# salt '*' cmd.run 'free -m'    cmd.script[root@salt-master ~]# salt '*' cmd.script  /root/a.shcmd.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 cpizwz9f8xrvty50quc2gq50z:- 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.recvcp.cache_local_file将master端的/etc/hosts文件复制到minion端的salt cache目录(/var/cache/salt/minion/localfiles/)[root@salt-master salt]# salt '*' cp.cache_local_file /etc/hostscp.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 fileizwz9f8xrvty50quc2gq50z:- 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.writefile.chown修改所有minion端的/etc/passwd文件的属组、用户权限,等价于chown root:root /etc/passwd[root@salt-master ~]# salt '*' file.chown /etc/passwd root rootfile.copy将所有minion端的/root/a.sh文件复制到/opt/目录下[root@salt-master ~]# salt '*' file.copy /root/a.sh /opt/a.sh将所有minion端的/root/mysql目录复制到/opt目录下[root@salt-master ~]# salt '*' file.copy /root/mysql  /opt/mysql  recurse=Truefile.directory_exists检查所有被控主机/etc目录是否存在,存在则返回True,检查文件是否存在使用file.file_exists方法[root@salt-master ~]# salt '*' file.directory_exists /etcfile.stats获取所有被控主机/etc/passwd的stats信息[root@salt-master ~]#  salt '*' file.stats /etc/passwdfile.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 0644file.mkdir在所有被控主机创建/opt/test目录[root@salt-master ~]# salt '*' file.mkdir /opt/testfile.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/foofile.touch在所有的minion端的/opt目录下创建c.txt文件[root@salt-master script]# salt '*' file.touch /opt/c.txtfile.move将所有minion端/root目录下的a.sh文件移动到/opt目录下[root@salt-master script]# salt '*' file.move /root/a.sh  /optfile.rename将所有minion端的/root目录下的a.sh文件重命名为/opt目录下的b.sh[root@salt-master script]# salt '*' file.rename /root/a.sh /opt/b.shfile.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 groupizwz9f8xrvty50quc2gq50z:- 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 networkizwz9f8xrvty50quc2gq50z:- 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 pkgizwz9f8xrvty50quc2gq50z:- 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 serviceizwz9f8xrvty50quc2gq50z:- 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 userizwz9f8xrvty50quc2gq50z:- 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 minionCLI Example:salt '*' user.add name 
当然,salt常用的执行模块还有很多,后面会根据实际的操作会继续记录和总结salt模块,敬请期待!

转载于:https://blog.51cto.com/13721050/2311961

你可能感兴趣的文章
VS2015安装EF Power Tools
查看>>
MySQL主从复制(笔记)
查看>>
keepalived高可用集群的简单配置
查看>>
Android Java Framework显示Toast(无Activity和Service)
查看>>
通过 SignalR 类库,实现 ASP.NET MVC 的实时通信
查看>>
NavigationController修改状态条颜色
查看>>
16大跨平台游戏引擎
查看>>
NPS如何配置基于mac地址的8021x认证
查看>>
XenServer架构之XAPI的调用流程
查看>>
redhat下搭建LAMP架构
查看>>
GitHub详细教程
查看>>
ffmpeg使用tee实现单次编码多路输出
查看>>
关于Windows Network Load Balance
查看>>
raid技术的读与想
查看>>
Hbase 中Column Family 的作用
查看>>
用鸡讲解技术债务的形成过程?
查看>>
Linux下的Tftp服务
查看>>
C#将集合和Json格式互相转换的几种方式
查看>>
java连接数据库并操作
查看>>
安装.net framework 4.0时提示HRESULT 0xc8000222
查看>>