ansible通过roles安装redis-server

redis
├── files
│   ├── redis6379.conf
│   ├── Redis-server-init
│   └── redis-server.service
├── handlers
├── tasks
│   └── main.yml
└── vars

第一一级目录文件
 - hosts: docker
   remote_user: root
   vars:
    epic: true
    redis_dir: /usr/local/redis
            datesoft: /data/sh
   roles:
    - redis
tasks的mail.yml文件

root@centos-mysql01:/data/sh/ansible_role# cat redis/tasks/main.yml

  • name: groupadd redis
    group: name=redis gid=2004
  • name: useradd redis
    user: name=redis uid=2004 group=redis shell=/sbin/nologin
  • user: /data/sh mkdir
    shell: mkdir -p {{datesoft}}
  • name: copy redis gz
    unarchive: src=/data/ansibel/lnmp/src/redis-4.0.10.tar.gz dest={{datesoft}} copy=yes mode=0755
  • name: install tcl
    command: apt-get install -y tcl
    when: not epic
  • name: make redis
    command: make PREFIX={{redis_dir}} install chdir={{datesoft}}/redis-4.0.10
  • name: make install
    command: make install chdir={{datesoft}}/redis-4.0.10/src
  • name: redis conf log dir
    shell: mkdir -p {{redis_dir}}/var
  • name: redis conf log dir
    shell: mkdir -p {{redis_dir}}/etc
  • name: copy redis.conf
    copy: src=redis6379.conf dest={{redis_dir}}/etc/redis.conf mode=0644
  • name: redis.conf change
    command: sh redis_conf.sh chdir={{datesoft}}
  • name: chow redis
    shell: chown -R redis:redis {{redis_dir}}
  • name: redis-server add system
    copy: src=Redis-server-init dest=/etc/init.d/redis-server mode=0761
  • name: chkconfig redis-server
    shell: update-rc.d redis-server defaults
    when: ansible_os_family == "Debian"
  • name: chkconfig redis-server
    shell: chkconfig --add redis-server; chkconfig redis-server on
    when: ansible_os_family == "Centos"
  • name: services
    service: name=redis-server state=restarted enabled=yes
    files文件

    root@centos-mysql01:/data/sh/ansible_role# ls redis/files/
    redis6379.conf Redis-server-init redis-server.service

    脚本redis_conf.sh

    redis_install_dir="/usr/local/redis"
    sed -i 's@pidfile.@pidfile /var/run/redis/redis.pid@' ${redis_install_dir}/etc/redis.conf
    sed -i "s@logfile.
    @logfile ${redis_install_dir}/var/redis.log@" ${redis_install_dir}/etc/redis.conf
    sed -i "s@^dir.*@dir ${redis_install_dir}/var@" ${redis_install_dir}/etc/redis.conf
    sed -i 's@daemonize no@daemonize yes@' ${redis_install_dir}/etc/redis.conf
    sed -i "s@^# bind 127.0.0.1@bind 127.0.0.1@" ${redis_install_dir}/etc/redis.conf
    Mem=free -m|awk -F: '{print $2}'|awk '{print $1}'|head -n2|tail -n 1
    redis_maxmemory=expr $Mem / 8000000
    sed -i "s@maxmemory <bytes>@maxmemory <bytes>\nmaxmemory expr $Mem / 8000000@" ${redis_install_dir}/etc/redis.conf

下载地址
链接: https://pan.baidu.com/s/1Mvg1oaoLKojtBP6BjgBCvg 提取码: rf29 

转载于:https://blog.51cto.com/9025736/2332051

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值