centos系统通过ansible-palybook 安装 clamav

近期要安装clamav,结合ansible-playbook进行一次批量安装以及配置定时升级和检查

cat clamav-install.yml

---
- hosts: xx.xx.xx.xx
  remote_user: jumpserver
  sudo: yes

  tasks:
  - name: install epel-release
    yum: state=present name=epel-release
  - name: install clamav
    yum: state=present name=clamav
  - name: mkdir clamav
    shell: mkdir /usr/local/clamav
    ignore_errors: yes
  - name: mkdir clamav/update
    shell: mkdir /usr/local/clamav/update
    ignore_errors: yes
  - name: mkdir clamav/logs
    shell: mkdir /usr/local/clamav/logs
    ignore_errors: yes
  - name: chown clam
    shell: chown -R clam.clam /usr/local/clamav
  - name: update freshclam.conf
    lineinfile:
     dest: /etc/freshclam.conf
     regexp: ‘DatabaseDirectory‘
     line: ‘DatabaseDirectory /usr/local/clamav/update‘
  - name: crontab root add update clamav
    cron: name=‘update clamav‘ job=‘/usr/bin/freshclam >> /usr/local/clamav/logs/freshclam.$(date +"\%Y-\%m-\%d").log 2>&1‘ minute=10 hour=00
  - name: crontab root add start clamav -r /
    cron: name=‘start clamav -r /‘ job=‘/usr/bin/clamscan -r / >> /usr/local/clamav/logs/clamd.$(date +"\%Y-\%m-\%d").log 2>&1‘ minute=30 hour=00

我这边不是root执行的,使用的sudo。

由于执行了多次,所以mkdir会报错,添加了 忽略错误参数。

ignore_errors: yes

1、先安装软件epel-release和clamav

2、创建目录(可不操作,看个人习惯)

3、赋权限,clam用户在yum中会创建

4、修改配置文件(看个人习惯,可使用默认的)

5、添加crontab,每天00:10升级病毒库

6、添加crontab,每天00:30杀毒,具体的目录可以修改

/usr/bin/clamscan -r /

具体的日志详见下图

[[email protected] playbook]$ ansible-playbook clamav-install.yml -s
[DEPRECATION WARNING]: The sudo command line option has been deprecated in favor of the "become" command line arguments. This feature will be removed in
version 2.6. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method is ‘sudo‘ (default). This feature will be removed in
version 2.6. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

PLAY [xx.xx.xx.xx] ****************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************
ok: [xx.xx.xx.xx]

TASK [install epel-release] *********************************************************************************************************************************
changed: [xx.xx.xx.xx]

TASK [install clamav] ***************************************************************************************************************************************
changed: [xx.xx.xx.xx]

TASK [mkdir clamav] *****************************************************************************************************************************************
 [WARNING]: Consider using the file module with state=directory rather than running mkdir.  If you need to use command because file is insufficient you can
add warn=False to this command task or set command_warnings=False in ansible.cfg to get rid of this message.

fatal: [xx.xx.xx.xx]: FAILED! => {"changed": true, "cmd": "mkdir /usr/local/clamav", "delta": "0:00:00.016856", "end": "2018-07-30 16:36:39.524068", "msg": "non-zero return code", "rc": 1, "start": "2018-07-30 16:36:39.507212", "stderr": "mkdir: cannot create directory `/usr/local/clamav‘: File exists", "stderr_lines": ["mkdir: cannot create directory `/usr/local/clamav‘: File exists"], "stdout": "", "stdout_lines": []}
...ignoring

TASK [mkdir clamav/update] **********************************************************************************************************************************
fatal: [xx.xx.xx.xx]: FAILED! => {"changed": true, "cmd": "mkdir /usr/local/clamav/update", "delta": "0:00:00.016897", "end": "2018-07-30 16:36:44.769502", "msg": "non-zero return code", "rc": 1, "start": "2018-07-30 16:36:44.752605", "stderr": "mkdir: cannot create directory `/usr/local/clamav/update‘: File exists", "stderr_lines": ["mkdir: cannot create directory `/usr/local/clamav/update‘: File exists"], "stdout": "", "stdout_lines": []}
...ignoring

TASK [mkdir clamav/logs] ************************************************************************************************************************************
fatal: [xx.xx.xx.xx]: FAILED! => {"changed": true, "cmd": "mkdir /usr/local/clamav/logs", "delta": "0:00:00.016787", "end": "2018-07-30 16:36:49.998214", "msg": "non-zero return code", "rc": 1, "start": "2018-07-30 16:36:49.981427", "stderr": "mkdir: cannot create directory `/usr/local/clamav/logs‘: File exists", "stderr_lines": ["mkdir: cannot create directory `/usr/local/clamav/logs‘: File exists"], "stdout": "", "stdout_lines": []}
...ignoring

TASK [chown clam] *******************************************************************************************************************************************
 [WARNING]: Consider using the file module with owner rather than running chown.  If you need to use command because file is insufficient you can add
warn=False to this command task or set command_warnings=False in ansible.cfg to get rid of this message.

changed: [xx.xx.xx.xx]

TASK [update freshclam.conf] ********************************************************************************************************************************
ok: [xx.xx.xx.xx]

TASK [crontab root add update clamav] ***********************************************************************************************************************
changed: [xx.xx.xx.xx]

TASK [crontab root add start clamav -r /] *******************************************************************************************************************
changed: [xx.xx.xx.xx]

PLAY RECAP **************************************************************************************************************************************************
xx.xx.xx.xx              : ok=10   changed=6    unreachable=0    failed=0   

执行完后

[[email protected]SVN local]$ id clam
uid=498(clam) gid=498(clam) groups=498(clam)

[[email protected]-SVN local]$ rpm -qa clamav
clamav-0.100.1-1.el6.x86_64

[[email protected]-SVN ~]$ rpm -qa epel-release
epel-release-6-8.noarch

[[email protected]-SVN clamav]$ sudo crontab -u root -l
#Ansible: update clamav
10 00 * * * /usr/bin/freshclam >> /usr/local/clamav/logs/freshclam.$(date +"\%Y-\%m-\%d").log 2>&1
#Ansible: start clamav -r /
30 00 * * * /usr/bin/clamscan -r / >> /usr/local/clamav/logs/clamd.$(date +"\%Y-\%m-\%d").log 2>&1

原文地址:https://www.cnblogs.com/liudan182/p/9391475.html

时间: 2024-11-08 10:13:57

centos系统通过ansible-palybook 安装 clamav的相关文章

在vmware虚拟机中安装centos系统并使用LNMP安装部署环境

一.介绍:题目有点绕口,大概意思就是分两步完成,首先在vmware虚拟机中安装centos系统,然后在centos系统中使用lnmp安装包安装项目部署环境.      准备工作(很重要,所需安装软件如果都没找对,怎么能安装成功) 1.下载vmware,这个好找,直接百度搜索“vmware 下载”,能找到安装软件. 2.下载CentOS,这个需要注意点: 如果系统是32位就点这个:http://mirror.symnds.com/distributions/CentOS-vault/6.3/iso

CentOS系统上编译、安装、配置OpenCV

声明:本文是个人根据相关博客资料加上自己的经验整理,在此分享以供大家学习交流! 假设CentOS系统下的CodeBlocks已经安装完成,下面我们要在CentOS平台下编译OpenCV,并在CodeBlocks下进行开发测试. (1)下载OpenCV源码,并编译安装 当前最新的版本是OpenCV-2.2,可以从http://sourceforge.net/projects/opencvlibrary/上下载. OpenCV的编译方式有两种,一种是传统的./configure ; make ; m

CentOS系统下docker的安装与卸载

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app).几乎没有性能开销,可以很容易地在机器和数据中心中运行.最重要的是,他们不依赖于任何语言.框架包括系统. 前提 首先,你的Centos的系统一定要是64位的,不管版本是什么.并且内核版本至少是3.10以上. 用以下命令去查看你的内核版本: $

CentOS系统rsync文件同步 安装配置

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽. 安全:可以使用scp.ssh等方式来传输文件,当然也可以通过直接的socket连接. 支持匿名传输,以方

centos系统php5.6版本安装gd扩展库

由于项目需要显示验证码登录系统,所以这里需要开启php的gd扩展 这边提供安装php5.6的yum方法扩展自选.# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # yum install --enablerepo=remi -

Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6),然后在windows系统下访问此虚拟机的ip地址,却访问不了. 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问: iptables -I INPUT -p TCP

Linux的发展,创建虚拟机并安装CentOS系统,

第1章 Linux的发展1.1. Linux发展 unix诞生1969年的贝尔实验室. 1986年Andrew S.Tanenbaum(谭邦宁)开发minix(mini unix),主要用于教学. Richhard Stallman(斯托曼)公司:自由软件基金会FSF 项目:葛奴计划GNUGNU=GNU is not unix优秀软件:bash(命令解释器),gawk(三剑客),emacs,gccGPL:通用公共许可a. 开源的免费传播,随意传播b. 随意修改,修改之后必须把修改的内容发出来GN

安装ClamAV对centos系统进行病毒查杀

1.安装epel源yum install epel-release 在安装了EPEL源后,运行下面的命令安装ClamAV # yum install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd -y 2.在两个配置文件/etc/freshclam.conf和/etc/scan

Ansible -的安装部署(Redhat&Centos)

Ansible 的安装部署PIP 方式安装(Redhat&Centos)1,安装python-pip&python-devel,yum install python-pip python-devel -y2, 安装Ansible 服务//确认服务器的gcc,glibc 开发环境均安装,如果不确定可以用yum 安装一下:yum -y install gcc glibc-devel zlib-devel rpm-bulid openssl-devel -y//升级PIP之最新版本pip ins