zoukankan      html  css  js  c++  java
  • RexCommandsFile

    RexCommandsFile - Transparent File Manipulation
    
    传输文件模块:
    
     task "read-passwd2", "192.168.137.3", sub {
       say cat "/etc/passwd";
     };
    [root@node01 Rex]# rex "read-passwd2"
    [2017-05-10 07:37:45] WARN - Please use only the following characters for task names:
    [2017-05-10 07:37:45] WARN -   A-Z, a-z, 0-9 and _
    [2017-05-10 07:37:45] WARN - Also the task should start with A-Z or a-z
    [2017-05-10 07:37:45] WARN - You can disable this warning by setting feature flag: disable_taskname_warning
    [2017-05-10 07:37:45] INFO - Running task read-passwd2 on 192.168.137.3
    root:x:0:0:root:/root:/bin/bash
    
    
    导出函数:
    
    template($file, @params)
    
    解析模板然后返回内容
     task "mytask4",sub {
       my $content = template("/root/vhosts.tpl",
                  name => "test.lan",
                  webmaster => 'webmaster@test.lan');
      say $content;
    };
    [root@node01 Rex]# cat /root/vhosts.tpl 
    aaaaaaaaaaaaaaa
    bbbbbbbbbbbbbbb
    cccccccccccccc
    [root@node01 Rex]# rex mytask4
    [2017-05-10 09:54:27] WARN - Please use only the following characters for task names:
    [2017-05-10 09:54:27] WARN -   A-Z, a-z, 0-9 and _
    [2017-05-10 09:54:27] WARN - Also the task should start with A-Z or a-z
    [2017-05-10 09:54:27] WARN - You can disable this warning by setting feature flag: disable_taskname_warning
    [2017-05-10 09:54:27] INFO - Running task mytask4 on <local>
    aaaaaaaaaaaaaaa
    bbbbbbbbbbbbbbb
    cccccccccccccc
    
    [2017-05-10 09:54:38] INFO - All tasks successful on all hosts
    [root@node01 Rex]# 
    
    
    
    
    [root@node01 Rex]# vim /usr/local/perl/lib/site_perl/5.22.1/Rex/Commands/File.pm
    
    
    sub template {
       print "11111111111112222334414
    ";
      my ( $file, @params ) = @_;
      my $param;
    
    
    file($file_name, %options)
    这个函数是 install file 命令的缩写。请使用这个函数来上传文件。
    
    
      task "prepare", "192.168.137.3",  sub {
       file "/tmp/machine",
         source => "/root/machine";
    };
    [root@node01 Rex]# rex prepare
    [2017-05-10 10:40:44] WARN - Please use only the following characters for task names:
    [2017-05-10 10:40:44] WARN -   A-Z, a-z, 0-9 and _
    [2017-05-10 10:40:44] WARN - Also the task should start with A-Z or a-z
    [2017-05-10 10:40:44] WARN - You can disable this warning by setting feature flag: disable_taskname_warning
    [2017-05-10 10:40:44] INFO - Running task prepare on 192.168.137.3
    [2017-05-10 10:40:55] INFO - All tasks successful on all hosts
    
    
    node2:/tmp#cat machine
    cat: machine: No such file or directory
    node2:/tmp#cat machine
    13`
    dADA1
    131qqe
    
     task "mytask5",sub {
         file "/etc/hdf",
         content => template("/root/machine"),
         owner  => "mqm",
         group  => "mqm",
         mode   => 700,
         on_change => sub { say "Something was changed." };
    };
    [root@node01 Rex]# rex mytask5
    [2017-05-10 10:46:52] WARN - Please use only the following characters for task names:
    [2017-05-10 10:46:52] WARN -   A-Z, a-z, 0-9 and _
    [2017-05-10 10:46:52] WARN - Also the task should start with A-Z or a-z
    [2017-05-10 10:46:52] WARN - You can disable this warning by setting feature flag: disable_taskname_warning
    [2017-05-10 10:46:52] INFO - Running task mytask5 on <local>
    11111111111112222334414
    Something was changed.
    [2017-05-10 10:47:02] INFO - All tasks successful on all hosts
    
    
    [root@node01 Rex]# ls -ltr /etc/hdf
    -rwx------ 1 mqm mqm 52 May 10 10:47 /etc/hdf
    
    
    如果 source 是相对路径,它会自动从你的 Rexfile 位置开始搜索。如果你还用了 Perl 包,搜索路径也就包括 这些 .pm 文件的路径。
    
    这个函数支持一下 hooks:
    
    

  • 相关阅读:
    sql2slack alash3al 开源的又个轻量级工具
    pgspider fetchq 扩展docker镜像
    godns 集成coredns 的demo
    godns 简单dnsmasq 的dns 替换方案
    aviary.sh 一个基于bash的分布式配置管理工具
    使用coredns 的template plugin实现一个xip 服务
    nginx 代理 coredns dns 服务
    基于nginx proxy dns server
    几个不错的geodns server
    spring boot rest api 最好添加servlet.context-path
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349719.html
Copyright © 2011-2022 走看看