Cette article est ajusté à samba 4.x.
J'ai déjà traité l'installation et rôle active directory domain controller.
Je vais vous parler de la sauvegarde et la restauration de samba dans l'espoir qu'il sera utile.
Il suffit de joindre la nouvelle machine comme un nouveau DC.
Tout sera synchronisé avec l'autre DC en cours d'exécution.
Le script de sauvegarde de samba n'est pas installé, lorsque vous exécutez «make install».
Il est recommandé que vous copiez à partir du répertoire des sources (source4/scripts/bin/samba_backup) à votre système, comme /usr/sbin, et de définir des autorisations sécurisés:
cp ..../source4/scripting/bin/samba_backup /usr/sbin chown root:root /usr/sbin/samba_backup chmod 750 /usr/sbin/samba_backup
Réglez les variables suivantes dans le script à vos besoins:
FROMWHERE=/usr/local/samba WHERE=/usr/local/backups DAYS=90
Créer le dossier de destination, celui que vous avez configuré dans le $WHERE et fixer les autorisation :
mkdir /usr/local/backups chmod 750 /usr/local/backups
Lancer le script de sauvegarde pour un premier test:
/usr/sbin/samba_backup
Si le script se termine sans erreur, vous devriez trouver trois fichiers dans le dossier de destination:
Si votre test de sauvegarde a réussi, vous devriez ajouter un cron pour la sauvegarde quotidienne :
crontab -e 0 2 * * * /usr/sbin/samba_backup
Dans l'exemple la sauvegarde s’exécutera à 2h du matin tous les jours.
Si l'ensemble de votre système est cassé, vous devez d'abord configurer l'ensemble de la machine, comme je l'ai déjà aborder ici
Supprimez les dossiers, que nous allons restaurer (samba ne doit pas être en cours d'exécution!):
rm -rf /usr/local/samba/etc rm -rf /usr/local/samba/private rm -rf /usr/local/samba/var/locks/sysvo
Maintenant décompresser vos fichiers de sauvegarde à leur ancien emplacement:
cd /usr/local/backups tar -jxf etc.{Timestamp}.tar.bz2 -C /usr/local/samba/ tar -jxf samba4_private.{Timestamp}.tar.bz2 -C /usr/local/samba/ tar -jxf sysvol.{Timestamp}.tar.bz2 -C /usr/local/samba/
Renommer les fichiers .ldb.bak dans le répertoire «private» en .ldb. :
find /usr/local/samba/private/ -type f -name '*.ldb.bak' -print0 | while read -d $'\0' f ; do mv "$f" "${f%.bak}" ; done
Si votre sauvegarde ne contient pas LCA étendues
samba-tool ntacl sysvolreset
Si vous utilisez Bind comme backend de DNS, vous devez fixer les bases de données hardlinks pour les DNS:
samba_upgradedns --dns-backend=BIND9_DLZ
Maintenant, vous pouvez démarrer samba et tester si votre restauration a été couronnée de succès.
Source: wiki.samba.org