## freshclam: Setting up auto-updating
Keywords: clamdoc

freshclam is a default database updater for Clam AntiVirus. It can work in two modes:

- interactive - from command line, verbosly
- daemon - alone, silently

When started by a superuser (by default) it drops privileges and switches to the clamav user. freshclam uses the `database.clamav.net` round-robin DNS which automatically selects a database mirror2.11. freshclam is an advanced tool: supports proxy servers (with authentication), digital signature verification and various error scenarios. Quick test: run freshclam (as superuser) with no parameters and check the output. If everything is OK you may create the log file in /var/log (owned by clamav or another user freshclam will be running as (`--user`):

    	# touch /var/log/clam-update.log
    	# chmod 600 /var/log/clam-update.log
    	# chown clamav /var/log/clam-update.log

Now you should edit the configuration file (usually freshclam.conf) and configure the UpdateLogFile directive to point the created log file (it's highly recommended). Optionally you may force the log file path with -l. Finally, to run freshclam in the daemon mode execute:

    	# freshclam -d

The other method is to use the cron daemon. You have to add the following line to the crontab of the root or clamav users:

    N * * * *	/usr/local/bin/freshclam --quiet

to check for a new database every hour. N should be a number between 1 and 59 of your choice. Please don't choose any multiple of 10, because there are already too many servers using those time slots. Proxy settings are only configurable via the configuration file (so you can setup proper permissions to protect your proxy password):

    	HTTPProxyServer myproxyserver.com
    	HTTPProxyPort 1234
    	HTTPProxyUsername myusername
    	HTTPProxyPassword mypass