HEX
Server: CentOS WebPanel: Protected by Mod Security
System: Linux sites.annaiservers.com 3.10.0-1160.118.1.el7.x86_64 #1 SMP Wed Apr 24 16:01:50 UTC 2024 x86_64
User: freeval (1012)
PHP: 8.1.10
Disabled: NONE
Upload Files
File: //scripts/clamd_fix_100_cpu_usage
#!/bin/bash
# This script will fix clamd 100% cpu usage on the centos 7 servers


if [ -e "/usr/lib/systemd/system" ];then
	cd /usr/lib/systemd/system

	if [ -e "clamd.service" ];then
		# sed -i "s/^Type \= forking/Type \= simple/" clamd.service # OLD
		sed -i 's/^ExecStart.*$/ExecStart = \/usr\/sbin\/clamd -c \/etc\/clamd.d\/amavisd.conf --foreground=yes/' clamd.service

		cat > /usr/lib/systemd/system/clamd.service <<EOF
[Unit]
Description = clamd scanner (%i) daemon
Documentation=man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/
After = syslog.target nss-lookup.target network.target

[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/amavisd.conf --foreground=yes
# Reload the database
ExecReload = /bin/kill -USR2 $MAINPID
Restart = on-failure
TimeoutStartSec = 10min
IOSchedulingPriority = 7
CPUSchedulingPolicy = 5
Nice = 19

[Install]
WantedBy = multi-user.target
EOF

	fi

	if [ -e "clamd-scan.service" ];then
		sed -i 's/clamd@.service/clamd.service/' clamd-scan.service
	fi

	# remove duplicated clamd service
	if [ -e "/usr/lib/systemd/system/clamd@.service" ];then
		systemctl disable clamd@amavisd.service; systemctl stop clamd@amavisd.service
		rm -f /usr/lib/systemd/system/clamd@.service
	fi

	systemctl daemon-reload
	service clamd stop
	service amavisd stop

	rm -f /var/run/clamd.amavisd/clamd.sock

	service clamd start
        sleep 3
	service amavisd start
fi