Hello Dmitry Akindinov.
On Tue, 11 Oct 2011 19:14:40 +0400
"Dmitry Akindinov" <CGatePro@mx.ru> wrote:
> > Появилась необходимость сделать массовую модификацию телефонных
> > номеров пользователей. Для меня проще всего это сделать
> > непосредственно в
> > файлах /var/CommuniGate/{Accounts,Domains/*}/Settings/telnums.data
> > с помощью sed'а (понятно, что нужно перед началом операции
> > остановить CGP, а после - запустить).
> Так не надо делать. Есть CLI с командами ListAccounts, ListObjects и
> Get/SetAccountTelnums - ими и надо пользоваться.
Я понимаю, что штатные средства лучше. Однако мне нужно прошерстить несколько сотен аккаунтов в более чем десятке доменов, причём дважды - сначала добавить новое, а через некоторое время - убрать старое. Хочется сделать это быстро. Штатные средства CLI такого не позволяют, даже если написать сценарий для какого-нибудь expect'а, а sed - я пробовал - тратит на всё про всё менее секунды. На стоп/старт демона уйдёт ещё пара-тройка секунд. Телефоны, правда, должны будут перерегистрироваться, но если объявить о возможном перерыве связи и сделать всё ночью, то в принципе меня это не остановит.
Есть какие-то соображения кроме соображений "правильности", почему так делать не надо?
> > Однако выяснилось, что в файле содержится, похоже, вся история > > изменений данного атрибута у каждого пользователя. В связи с этим - > > два
> Да.
> > вопроса: а) зачем это нужно? и б) что лучше - убрать лишние записи > > или модифицировать не только последнюю, но и все остальные?
> а) дописать в файл изменение эффективнее, чем перезаписывать весь > файл. б) лучше использовать CLI Ok, понятно.
-- Best Regards, Igor Dobryninsky, Moscow, RussiaПолучено Wed Oct 12 06:04:47 2011
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:17:18 MSK