实例学习ansible系列(11)常用模块之get url/cron/synchronize

                       
 

知识点:cron模块用于管理对象节点cron任务
  知识点:get_url模块类似于wget和curl的功能,可以进行下载以及webapi交互等操作
  知识点:synchronize模块使用rsync用于控制节点和管理对象节点之间的内容同步操作。

cron模块使用实例

 

事前对象节点cron信息确认

[root@host31 ~]# ansible host32 -m shell -a "crontab -l"host32 | SUCCESS | rc=0 >>10 * * * * echo `date` >> /tmp/cronlog.log[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
 

利用cron模块向对象节点添加一个叫做sayhellojob的一个无聊job,此job每2分钟说一次hello

[root@host31 ~]# ansible host32 -m cron -a 'name=sayhellojob minute=*/2 hour=* day=* month=* weekday=* job="echo hello `date` >> /tmp/cronlog.log"'host32 | SUCCESS => {    "changed": true,    "envs": [],    "jobs": [        "sayhellojob"    ]}[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
 

事后对象节点的crontab内容

[root@host31 ~]# ansible host32 -m shell -a "crontab -l"host32 | SUCCESS | rc=0 >>10 * * * * echo `date` >> /tmp/cronlog.log#Ansible: sayhellojob  ->jobname是作为注释管理的*/2 * * * * echo hello `date` >> /tmp/cronlog.log[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
 

事后输出log的确认

[root@host31 ~]# ansible host32 -m shell -a "cat /tmp/cronlog.log"host32 | SUCCESS | rc=0 >>hello Sat Jul 30 19:06:01 EDT 2016hello Sat Jul 30 19:08:01 EDT 2016Sat Jul 30 19:10:01 EDT 2016hello Sat Jul 30 19:10:01 EDT 2016hello Sat Jul 30 19:12:02 EDT 2016hello Sat Jul 30 19:14:01 EDT 2016hello Sat Jul 30 19:16:01 EDT 2016hello Sat Jul 30 19:18:01 EDT 2016hello Sat Jul 30 19:20:01 EDT 2016[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

get_url使用实例

 

使用get_url下载baidu的index

[root@host31 ~]# ansible host31 -m get_url -a "url=http://www.baidu.com dest=/tmp"host31 | SUCCESS => {    "changed": true,    "checksum_dest": null,    "checksum_src": "2fccd8d95deeee8058575bd727057f56bde82875",    "dest": "/tmp/index.html",    "gid": 0,    "group": "root",    "md5sum": "903a4edc8fef9db948f2fb5533a66f6c",    "mode": "0644",    "msg": "OK (unknown bytes)",    "owner": "root",    "secontext": "unconfined_u:object_r:user_tmp_t:s0",    "size": 99451,    "src": "/tmp/tmp84dCzW",    "state": "file",    "uid": 0,    "url": "http://www.baidu.com"}[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
 

下载确认

[root@host31 ~]# ll /tmp/index.html-rw-r--r--. 1 root root 99451 Jul 30 19:35 /tmp/index.html[root@host31 ~]#
  
  
  • 1
  • 2
  • 3

synchronize使用实例

 

同步内容准备和确认

[root@host31 ~]# mkdir -p /tmp/tst-syn /tmp/tst-syn/src /tmp/tst-syn/target /tmp/tst-syn/target/bin[root@host31 ~]# echo "hello" > /tmp/tst-syn/target/bin/hello[root@host31 ~]#[root@host31 ~]# ssh host32 ls -l /opttotal 0drwxr-xr-x. 2 root root 6 Mar 26  2015 rh[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
 

将此目录结构完整同步到对象机器的/opt下

[root@host31 ~]# ansible host32 -m synchronize -a "src=/tmp/tst-syn dest=/opt/dst-syn"host32 | SUCCESS => {    "changed": true,    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/tmp/tst-syn\" \"host32:/opt/dst-syn\"",    "msg": "cd+++++++++ tst-syn/\ncd+++++++++ tst-syn/src/\ncd+++++++++ tst-syn/target/\ncd+++++++++ tst-syn/target/bin/\n<f+++++++++ tst-syn/target/bin/hello\n",    "rc": 0,    "stdout_lines": [        "cd+++++++++ tst-syn/",        "cd+++++++++ tst-syn/src/",        "cd+++++++++ tst-syn/target/",        "cd+++++++++ tst-syn/target/bin/",        "<f+++++++++ tst-syn/target/bin/hello"    ]}[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
 

同步后确认

[root@host31 ~]# ssh host32 ls -l /opttotal 0drwxr-xr-x. 3 root root 20 Jul 30 19:44 dst-syndrwxr-xr-x. 2 root root  6 Mar 26  2015 rh[root@host31 ~]# ssh host32 find /opt/dst-syn -type f/opt/dst-syn/tst-syn/target/bin/hello[root@host31 ~]# ssh host32 find /opt/dst-syn -type d/opt/dst-syn/opt/dst-syn/tst-syn/opt/dst-syn/tst-syn/src/opt/dst-syn/tst-syn/target/opt/dst-syn/tst-syn/target/bin[root@host31 ~]#
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值