Вы могли сделать локальный дамп своих баз данных к tarball и rsync их к другому серверу, как:
#!/bin/sh
SNAPSHOT_DATE=`date '+%d%m%y_%Hh%M'`
LOCAL_TARBALLS=/tmp
# COMPRESSION MODE
GZIP="$(which gzip)"
[[ -z $GZIP ]] && aptitude -y install gzip # for Debian's like
GZ_COMPRESSION_LEVEL="-9" # 1=low compression but fast, -9=high compression but slow
# ##############
# MYSQL dump
# ##############
TARBALL="mysql"
# guess binary names
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
# do it Safe
[[ -z $MYSQL ]] || [[ -z $MYSQLDUMP ]] && echo "mysql commands not found" && exit 1
# mysql version
$MYSQL -V > $LOCAL_TARBALLS/$TARBALL/myql_version
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
# dump dbs and generate one tarball by database
for db in $DBS
do
FILE="$LOCAL_TARBALLS/$TARBALL/mysqldump_$db-$SNAPSHOT_DATE.sql"
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db > $FILE && $GZIP $GZ_COMPRESSION_LEVEL $FILE
done
# Or generate ONE dump for all databases
# FILE=$LOCAL_TARBALLS/$TARBALL/"mysql_dump".$SNAPSHOT_DATE".sql"
# $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS --all-databases > $FILE && $GZIP -9 $FILE
else
echo "Mysql: No backup of databases have been performed (because no or wrong credentials have been entered)"
fi
Необходимо будет адаптировать некоторые данные в оболочке, данной как подсказка.
То же относится к Вашим данным (/домой и так далее), я означаю использовать rsync Ваше резервное копирование tarballs (rsync, использует ssh). Даже этими rsync можно управлять в cronjob sothat, резервное копирование регулярно делаются.
Надежда это помогает.
Да, можно. Просто найдите фильтр и атрибуты, которые вы хотите реплицировать в конфигурации syncrepl
syncrepl rid=1
provider=ldap://provider.myorg.com:389
type=refreshOnly
interval=01:00:00:00
searchbase="ou=sales,o=employees,o=myorg,cn=com"
filter="(objectClass=posixAccount)"
scope=base
attrs="cn,sn,userPassword"
schemachecking=off
bindmethod=simple
binddn="cn=syncuser,o=myorg,cn=com"
credentials=secret
, теперь это выглядит следующим образом:
Однако есть одна загвоздка. Атрибуты, которых у вашей мастер-самбы нет, необходимо обновить вручную. Например, у вас есть пароль samba на вашем потребительском LDAP, а ваш главный LDAP его не имеет, вам необходимо обновить 2 LDAP для синхронизации sambaNTPassword и sambaLMPassword на потребительском LDAP с userPassword на главном LDAP, когда пользователь меняет свой пароль. Конечно, это применимо только в том случае, если вы хотите, чтобы пароли синхронизировались.
If you are referring to is it possible to have different data schema for an consumer , then I think that you could just replicate things separately for one forest (or create another one ) then connect the consumer to that forest or AD site . Unfortunately I used openldap only briefly. I hope this helps .
As far as your different branches are in different backends, you can have a backend configured to be a consumer of a remote master, and another backend configured to be a standard backend when read and write are performed directly.
You define ou=sales,o=employees,o=myorg,cn=com
as the DN of one backend with the settings for the replication. And you define ou=accounting,o=employees,o=myorg,cn=com
as the DN of another backend, without replication settings.
If everything as to be kept into the same backend, I imagine the following :
У меня была аналогичная проблема, и я нашел параметр, который разрешает запись на основе потребителя:
olcMirrorMode: TRUE
Его необходимо добавить после всех параметров syncrepl. Думаю, это решит и вашу проблему.