Samba stocke ses informations dans des fichiers avec l’extension tdb. Ces fichiers sont stockés à deux endroits :
Une sauvegarde de ces fichiers est effectuée une fois par semaine. Les fichiers sont stockés dans /root/backup/samba/cache/ et /root/backup/samba/etc/. Les fichiers sauvegardés portent l’extension tdb.bak.
cat backup_samba
mkdir -p /root/backup/samba/cache
cd /root/backup/samba/cache
tdbbackup /var/cache/samba/*.tdb 2>/var/log/errortdb
mv -f /var/cache/samba/*.bak .
mkdir -p /root/backup/samba/etc
cd /root/backup/samba/etc
tdbbackup /etc/samba/secrets.tdb 2>>/var/log/errortdb
mv -f /etc/samba/secrets.tdb.bak .
if [ -s /var/log/errortdb ]; then
mail -s "Echec sauvegarde fichiers tdb sur serveur" root </var/log/errortdb
fi
Des optimisations pourraient être réalisées, notamment en récupérant automatiquement le nom du serveur et en modifiant la boite de destination du mél (en cas d’erreur), en la positionnant sur root (avec redirection dans les paramètres de configuration de postfix).
La sauvegarde est déclenchée une fois par semaine par la ligne suivante, insérée dans le crontab :
00 3 * * 0 /root/backup_samba
On peut suspecter un problème sur les fichiers samba quand samba ne fonctionne plus tout à fait normalement. Par exemple, sur un serveur d’impression, on n’a plus la possibilité d’installer une imprimante.
Se positionner dans le dossier /var/cache/samba, et lancer la commande :
tdbbackup -v *.tdb
En cas d’erreur, on aura un message du type :
Restoring test.tdb
Si le problème survient sur un fichier winbind, arrêter le service winbind :
service winbind stop
Si le problème survient sur un autre fichier, arrêter le service samba :
service smb stop
Supprimer ensuite le fichier qui ne fonctionne pas :
rm test.tdb
Récupérer la dernière version correcte depuis la sauvegarde :
cp /root/backup/samba/cache/test.tdb.bak test.tdb
Vérifier le fichier :
tdbbackup -v test.tdb
Si tout est ok, redémarrer le service qui a été arrêté :
service winbind start
service smb start