The existing clamdownloader.pl script does not have any error correction it simply bails out if a downloaded file is not valid and is unable to retry different mirrors if one fails.
This script will retry if a download fails with an http code that is not 404, it will connect to another mirror if retries fail or file not found or if the downloaded file is invalid.
It has options to set the locations for the working and mirror directory as well as user/group ownership for the downloaded files. It uses locking to prevent multiple instances from running at the same time.
$ clamavmirror -h
Usage: clamavmirror [options]
Options:
-h, --help show this help message and exit
-a HOSTNAME, --hostname=HOSTNAME
ClamAV source server hostname
-r TXTRECORD, --text-record=TXTRECORD
ClamAV Updates TXT record
-w WORKDIR, --work-directory=WORKDIR
Working directory
-d MIRRORDIR, --mirror-directory=MIRRORDIR
The mirror directory
-u USER, --user=USER Change file owner to this user
-g GROUP, --group=GROUP
Change file group to this group
-l LOCKDIR, --locks-directory=LOCKDIR
Lock files directory
$ clamavmirror -w ~/tmp/clamavtmp/ \
-d ~/tmp/clamavmirror/ -u andrew -g staff -a db.za.clamav.net \
-l ~/Downloads/
Install from PyPi
pip install clamavmirror
Install from Githib
git clone https://github.com/akissa/clamavmirror.git
cd clamavmirror
python setup.py install
git checkout -b my-new-feature)git commit -am 'Add some feature')git push origin my-new-feature)All code is licensed under the MPLv2 License.
Content type
Image
Digest
Size
24.5 MB
Last updated
over 5 years ago
docker pull treibholz/clamavmirror