add shell script for cronjob

This commit is contained in:
Arne Teuke
2025-06-08 15:33:03 +02:00
parent 44792d71c1
commit 38a51df380
4 changed files with 56 additions and 5 deletions

View File

@@ -18,9 +18,9 @@ class clamav_cd::main::config (
# create a cron job to run a daily scan
cron { 'clamscan':
command => '/bin/clamscan -r / >> /var/log/clamav/daily-scan.log',
user => 'root',
hour => 2,
minute => 0,
command => $cv_shell_script,
user => $cv_cron_user,
hour => $cv_cron_hour,
minute => $cv_cron_minute,
}
}

View File

@@ -47,4 +47,17 @@ class clamav_cd::main::files (
seluser => system_u,
content => template($cv_freshclam_svc_erb),
}
# shell script for scanning and alerting
file { $cv_shell_script :
ensure => file,
owner => 'root',
group => 'root',
mode => '0750',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($cv_shell_script_erb),
}
}

View File

@@ -27,11 +27,17 @@
# prelude-admin.
# @param [String] cv_tcpsocket socket port
# @param [String] cv_tcpaddress ip address to listen on
# @param [String] cv_alert_email email address to send alerts
# @param [String] cv_cron_hour which hour the scan should start
# @param [String] cv_cron_minute which minute the scan should start
# @param [String] cv_cron_user which user should run the cron job
# @param [String] cv_scan_dir which directory should be scanned
# @param [String] cv_alert_file location and name of the alert file
##############################################################################
class clamav_cd::params (
# installation
Array $reqpackages = ['clamav','clamd'],
Array $reqpackages = ['clamav','clamd','s-nail'],
String $pkg_ensure = 'present',
# clamd
@@ -48,6 +54,13 @@ class clamav_cd::params (
String $cv_preludeanalyzername = 'ClamAV',
String $cv_tcpsocket = '3310',
String $cv_tcpaddress = 'localhost',
String $cv_alert_email = 'you@example.com',
String $cv_cron_hour = '2',
String $cv_cron_minute = '0',
String $cv_cron_user = 'root',
String $cv_scan_dir = '/',
String $cv_alert_file = 'tmp/clamav-alert.txt',
) {
# service
@@ -64,6 +77,8 @@ class clamav_cd::params (
$cv_freshclam_erb = 'clamav_cd/freshclam_conf.erb'
$cv_freshclam_svc = '/usr/lib/systemd/system/freshclam.service'
$cv_freshclam_svc_erb = 'clamav_cd/freshclam_svc.erb'
$cv_shell_script = "${cv_config_d_dir}/scan.sh"
$cv_shell_script_erb = 'clamav_cd/scan.sh.erb'
# includes must be last