# -*- coding: utf-8; mode: python -*- include("secrets") include("ip") info["perms"] = 0644 header("Fichier de configuration de rsync") @# GLOBAL OPTIONS @log file=/var/log/rsyncd @# for pid file, dont' use /var/run/rsync.pid unless you're not going to run @# rsync out of the init.d script. The /var/run/rsyncd.pid below is OK. @pid file=/var/run/rsyncd.pid @syslog facility=daemon @ @uid = root @gid = root @use chroot = no @read only = yes @# On ne liste pas les modules @list = no @#max connections=2 @ignore errors = no @ignore nonreadable = yes @# ne loggue pas tous les fichiers @transfer logging = no @dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz @# verifie les droits de /etc/rsyncd.secrets @strict modes = yes @# personne n'accede aux modules par defaut @hosts deny = * @ @# MODULE OPTIONS # Liste des dossiers a sauvegarder par serveur, en plus de la racine. backup_folders = { 'canard' : { 'usr' : '/usr', 'var' : '/var' }, 'egon' : { 'usr' : '/usr', 'var' : '/var' }, 'komaz' : { 'var' : '/var' }, 'vo' : { 'var' : '/var' }, 'news' : { 'news-spool' : '/var/spool/news', 'news-lib' : '/var/lib/news' }, 'ragnarok' : { 'usr' : '/usr', 'usr-local' : '/usr/local', 'var' : '/var' }, 'rouge' : { 'var' : '/var', 'usr' : '/usr', 'wiki' : '/var/local/wiki', 'mailman' : '/var/lib/mailman' }, 'sable' : { 'usr' : '/usr', 'var' : '/var', 'log-squid' : '/var/log/squid' }, 'charybde' : { 'slash' : '/', 'usr' : '/usr', 'var' : '/var', 'installparty' : '/pubftp/pub/Install-party', 'git' : '/pubftp/git' }, 'vert' : { 'var' : '/var', 'root' : '/root', }, 'zamok' : { 'var' : '/var', 'usr' : '/usr' }, 'niomniom' : { 'www' : '/var/local' }, 'owl': { 'dovecot': '/var/dovecot-indexes' }, 'redisdead' : { 'var': '/var', 'mailman': '/var/lib/mailman' }, 'pgsql' : { 'postgresql': '/var/lib/postgresql' }, }.get(hostname, {}) # On rajoute la racine pour tout le monde backup_folders["slash"] = "/" ip = admipof("babar") for (name, path) in backup_folders.iteritems(): print """ [%(name)s] path = %(path)s auth users = backupcrans secrets file = /etc/crans/secrets/rsyncd.secrets hosts allow = babar.adm.crans.org %(ip)s""" % { 'name' : name, 'path' : path, 'ip' : ip } if (hostname, name) == ("vert", "root"): # Sauvegarde des mots de passe chiffres print "include = +*.asc -*"