Linux Commands Examples

A great documentation place for Linux commands


update virus databases

see also : clamscan


freshclam [options]

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!



(0) Download database to default directory:


(1) Download database to current directory:

freshclam --datadir=.

(2) Run as a daemon and check 2 times per day for new database:

freshclam -d -c 2


freshclam is a virus database update tool for ClamAV.


Freshclam reads its configuration from freshclam.conf. The settings can be overwritten with command line options.
-h, --help

Output help information and exit.

-V, --version

Print version number and exit.

-v, --verbose

Be verbose. This option causes freshclam to print much additional information.


Be quiet - output only error messages.


Don’t print and log warnings.

-v, --debug

Enable debug messages from LibClamAV.


Write all messages to stdout.

-l FILE, --log=FILE

Write download report to FILE.


Install new database in DIRECTORY. The directory must be writable for the ’’ user or unprivileged user running freshclam.

-u USER, --user USER

Run as USER. By default (when started by root) freshclam drops privileges and operates as the ’’ user.

-d, --daemon

Run in a daemon mode. This option requires --checks. -p FILE, --pid=FILE Write daemon’s pid to FILE.


This option forces old non-DNS verification method (without a TTL delay).

-c #n, --checks=#n

Check #n times per day for a new database. #n must be between 1 and 50.


Notify the daemon about the new database. By default it reads a hardcoded config file but you can use a different one. Both local and TCP sockets are supported.

-a IP, --local-address=IP

Use (local) IP for HTTP downloads. Useful for multi-homed systems. If binding fails for whatever reason, a warning is issued and freshclam behaves like without this flag.


Execute COMMAND if error occurred. Remember, that virus database freshness is the most important thing in anti-virus system. With this option freshclam can alert you (eg. send SMS) when something is going wrong.


Execute COMMAND after successful update.


Execute COMMAND when freshclam reports outdated version. In the command string %v will be replaced by the new version number.


Print mirror details from mirrors.dat (cache file for the mirror manager).


Upload detection statistics to the ClamAV Project (see freshclam.conf(5):SubmitDetectionStats for more details). No database update will be performed. This option only works in the interactive mode.


Please check the full documentation for credits.



return codes

Some return codes of freshclam can be overwritten with a built-in command EXIT_n which can be passed to --on-*-execute, eg. --on-update-execute=EXIT_1 will force freshclam to always return 1 after successful database update.
0 : Database is up-to-date or successfully updated.
40: Unknown option passed.
50: Can’t change directory.
51: Can’t check MD5 sum.
52: Connection (network) problem.
53: Can’t unlink file.
54: MD5 or digital signature verification error.
55: Error reading file.
56: Config file error.
57: Can’t create new file.
58: Can’t read database from remote server.
59: Mirrors are not fully synchronized (try again later).
60: Can’t get information about ’’ user from /etc/passwd.
61: Can’t drop privileges.
62: Can’t initialize logger.

see also

freshclam.conf, clamd, clamd.conf, clamscan


Tomasz Kojm <tkojm[:at:]clamav[:dot:]net>

How can this site be more helpful to YOU ?

give  feedback