Добрый день,
решил поделиться опытом переноса пользователей из Zentyal 2.2 в Zentyal 3.3.
Инструкция, которую я нашёл здесь :
http://trac.zentyal.org/wiki/Documentation/Community/Migrate_2.2_to_3.0не работает. И уже год её не могут исправить, по запросу (добавить символ > в команду дампа пользователей):
Ветки форума наподобие :
http://forum.zentyal.org/index.php?topic=18105.0показывают, что не всё гладко ).
Коротко процесс переноса пользователей состоит из следующих шагов :
1. Выгружаем конфигурацию Zentyal 2.2 в файл (System- Import\Export Configuration - Backup).
2. Выгружаем пользователей из файла конфигурации в CSV файл.
3. Редактируем CSV файл и импортируем пользователей на новый сервер.
Теперь подробнее :
1. Скачиваем скрипты для переноса пользователей:
https://raw.github.com/Zentyal/zentyal/3.0/extra/migrate-2.2-to-3.0/dump-users-from-backup2. Складываем скрипты и configuration backup в один каталог и запускаем команду из-под пользователя root :
# perl dump-users-from-backup confbackupname.tar > users.csv3. Данные проэкспортируются в файл users.csv формата CSV с автоматически сгенерированными паролями.
* ВНИМАНИЕ : файл с разделителями запятыми, поэтому если CSV будет редактироваться, нужно использовать запятые в качестве разделителя. LibreOffice (которым я редактировал файл) по-умолчанию использует разделители символ табуляции. Для смены настроек по умолчанию поставить галку ИЗМЕНЕНИЕ ФИЛЬТРА НАСТРОЕК - СОХРАНИТЬ - СОХРАНИТЬ В CSV и далее выбрать необходимый разделитель.Столбцы CSV файла (при необходимости можно добавить):
username password givenname surname description email4. Импортируем файл users.csv:
Для этого адаптируем под себя скрипт :
http://doc.zentyal.org/en/appendix-c.html#importing-configuration-data#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::Users::User;
EBox::init();
my $parent = EBox::Users::User->defaultContainer();
open (my $USERS, 'users.csv');
while (my $line = <$USERS>) {
chomp ($line);
my ($username, $password, $givenname, $surname, $description, $email) = split(',', $line);
EBox::Users::User->create(
uid => $username,
parent => $parent,
password => $password,
givenname => $givenname,
surname => $surname,
description => $description,
mail => $email
);
}
close ($USERS);
1;
Размещаем его в одном каталоге с файлом users.csv
Меняем запускаемый бит для скрипта :
chmod +x <имя_файла_скрипта>Грабли, на которые я наступал: В Zentyal 3 сменили названия модулей, поэтому старый скрипт не работал. Пришлось PERL - модуль (расширение .pm) в скрипте переименовать.
Это мой опыт.
P.S. Может у кого есть опыт по переносу компьютеров из одного домена Zentyal 2.2 в другой Zentyal 3.3 (чтобы не пришлось перезаводить все компьютеры в новый домен заново) ? Буду очень признателен. Всем удачи.