Courier Mail Server Forum Index Courier Mail Server
www.courierms.ru
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Портится файл state.cfg

 
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Courier Mail Server 2.xx
View previous topic :: View next topic  
Author Message
Serggio
Newbie
Newbie


Joined: 27 Dec 2010
Posts: 2

PostPosted: 12 Dec 2011 19:34 (Mon)    Post subject: Портится файл state.cfg Reply with quote

Постоянно, иногда каждый день, портится файл state.cfg. Становится пустым. Соответственно, слетает лицензия. Сделал автоматическое замещение этого файла неким эталонным, ранее сохранённым.
Но тогда появляется следующая проблема: CMS пишет в этот файл в поле LaunchCount номер текущего пуска. При затирании пустого, испорченного файла state.cfg эталонным, это поле, соответственно, тоже получает некое "новое-старое" значение, которое явно меньше, чем оно бы имело, если бы файл не портился. И CMS, судя по всему, начинает в соответствующем каталоге mailbox складировать входящие письма с номерами, начинающимися с числа, которое уже "давно было". Пользовательские почтовые клиенты (которые работают с галочкой "оставлять письма на сервере", так как у нас один ящик на несколько пользователей) дают на сервер команду UIDL, но в ответном списке новые письма оказываются под старыми кодами, которые локальные почтовые клиенты отметили у себя, как уже принятые, и потому не забирают. От этого мы получаем полную чехарду с письмами - одному приходит, второму нет и наоборот.
Нужно как-то побороть постоянное затирание файла state.cfg
Операционная система, на которой работает CMS: Windows Server 2003 Standard Edition SP2
На ночь сервер (имею в виду "железо") выключается. Подозреваю, что файл портится именно в этот момент, так как проблема с испорченным файлом как правило обнаруживается утром при включении сервера.
Предлагаю такое решение:
Перед очередной записью в файл state.cfg и при условии, что он на этот момент корректный, делать его копию в файл state.bak
При запуске службы, в случае, если обнаружен некорректный state.cfg, восстанавливать его из state.bak

Спасибо, жду решения.
С уважением,
Сергей.

PS. Испорченный файл state.cfg имеет размер 366 байт, как и корректный, но полностью заполнен 0x00.
Back to top
View user's profile Send private message
Serggio
Newbie
Newbie


Joined: 27 Dec 2010
Posts: 2

PostPosted: 12 Dec 2011 19:59 (Mon)    Post subject: Reply with quote

Провели дополнительное расследование. Оказывается, сервер иногда выключают "бесцеременно", отключая питание. Понятно, что этот как бы наша вина, но всё же рекомендую рассмотреть какие-то меры, которые могли бы сохранить резервную копию state.cfg перед записью туда данных, которая может быть грубо прервана.
Back to top
View user's profile Send private message
NAMOR
CMS Developer


Joined: 15 Oct 2005
Posts: 1079

PostPosted: 12 Dec 2011 20:17 (Mon)    Post subject: Reply with quote

Спасибо за предложение, внёс его в план работы на будущее.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
NAMOR
CMS Developer


Joined: 15 Oct 2005
Posts: 1079

PostPosted: 30 Apr 2014 0:39 (Wed)    Post subject: Reply with quote

Удалось, наконец, вплотную заняться этой застарелой проблемой Confused

Доработали в CMS 3.03 beta 1:
Code:
[!] Повреждение файла state.cfg теперь практически исключено.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Courier Mail Server 2.xx All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group