Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Lumela, Habr!

Sepheo

Mokhatlo oa ka o sebelisa seva ea mangolo e thehiloeng sethaleng sa Kerio Connect; li-server tsa poso tse sebeletsang basebelisi ba tsona li kentsoe metseng e fapaneng. Qalong, ho ne ho se na mohaho o abuoang, kaha libaka li fapane boemong ba boraro, tse bontšang motse oa sebaka seo. Ntho e ’ngoe le e ’ngoe e ile ea sebetsa ’me bohle ba ne ba thabile. Ka letsatsi le leng le letle, batsamaisi ba ile ba beha mosebetsi, almanaka e tloaelehileng ea linyeoe lipakeng tsa libaka tsohle!

prehistory

Qalong, khopolo e ne e le ho phahamisa Kerio Distributed Mail Domain mme o ne a tla iketsetsa ntho e 'ngoe le e' ngoe. Ho thoe, ho entsoe, sebaka se abuoang se entsoe, empa se ne se le sieo, seva se ne se ikemiselitse ho hokahanya khalendara, lifoldara, mabitso - lipakeng tsa libaka tse fumanehang ho seva se le seng, empa ho hang e ne e sa tl'o hokahanya data lipakeng tsa li-server tse 'maloa. .

Ha e le hantle, ke ne ke sa lebella ho tšoasa joalo 'me ka nako e telele ke ne ke sa lumele ho ba sieo ha ts'ebetso eo ke e hlokang. Hamorao ke ile ka fumana netefatso ea litokomane tsa 'nete ena. Seo se ile sa makatsa le ho soetseha haholo.

Bothata bo ile ba fetoha bothata.

Likhetho e ne e le life

  • Theha bareki ba babeli ho li-server tse fapaneng tse fapanyetsanang data e hlokahalang le software ea motho oa boraro. Ho ne ho hlokahala ho fumana software ena ea mokha oa boraro e tla kenya tšebetsong ts'ebetso ena - ha ke rate rake e joalo, empa ho ne ho bonahala eka ena ke eona feela tharollo e potlakileng.
  • Ngola mongolo oa hau oa kamahanyo ea data lipakeng tsa li-server. 'Nete ke hore Kerio o boloka ntho e' ngoe le e 'ngoe e le faele e arohaneng, kahoo ho ne ho hlokahala ho hlahisa script bakeng sa ho sebetsa le lifaele, empa ka lebaka la mehloli e lekaneng ea mehloli, mosebetsi o ne o bonahala o le thata, haholo-holo kaha ho ne ho hlokahala ho etsa tse ngata. ho hlahloba ho nepahala ha data, ka tšohanyetso motho o tla theha mosebetsi ka nako e ts'oanang, joalo-joalo, joalo-joalo.

Ha ke sheba pele, ke tla re le hoja Kerio a boloka ntho e le faele e arohaneng, ha se bothoto hoo e botsang hore na tsamaiso ea faele e sebetsa joang nako le nako ha ntho eo e fihla.

Ka mor'a ho qeta nako e ngata ke nahana, ke hula lipampiri tse ngata ka merero ea "ho hapa sebaka sa sera", ka 6:XNUMX cheers ke ile ka etsa liqeto tse peli tse nepahetseng:

  • Qeto ea pele ke ho iketsetsa lintho, 'me u se ke ua batla ntho leha e le efe ea motho oa boraro.
  • Tharollo ea bobeli ke ho robala.

Ke ne ke se ke ntse ke tsoha hoseng ka mohopolo o le mong o nepahetseng, o neng o fokotsehile ho ba litlhaku tse seng kae - DFS

u etsa qeto ea

Tharollo ka boeona e ne e shebahala tjena

  • tlisa li-server tsohle tse tla nka karolo ho hokahaneng le OS Windows. (Karolo e ne e le Linux. Ho ne ho hlokahala hore ho fallisetsoe mangolo ho ea ho OS e 'ngoe)
  • Etsa qeto ea sebopeho sa li-directory tse tla kenya letsoho ho hokahanya - li tlameha ho tšoana.
  • Hlalosa li-server tsohle tsa mangolo tlas'a sebaka se le seng se nang le sebaka se le seng sa DFS.
  • Theha sebaka se ajoang sa Kerio se boletsoeng ka holimo, kaha tabeng ea ka ho lumellana ha data hoa hlokahala, eseng feela pakeng tsa li-server empa hape le pakeng tsa libaka, seva sa Kerio se ka sebetsana le sa bobeli se le seng. (ho fapana le ea pele)
  • Beha li-directory tse hokahaneng khahlanong le sebaka sa DFS.
  • Tloo ka mofuta o itseng oa crutch (ka mor'a moo, ntle le crutch ho ke ke ha khoneha)

Ts'ebetsong

Mohlala ho li-server tse peli tsa mangolo (mohlomong ho feta)

1. Kerio Distributed domain

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Monghali ha a kenye letsoho ho lumellana, empa sena ha se boemo bo hlokahalang.

Nke ke ka hlalosa mokhoa oa ho phahamisa sebaka sa Kerio se ajoang, ha ho letho le rarahaneng ka lona, ​​​​o ka ithuta ofisiri. manulo

Qetellong, ho console ea tsamaiso, o lokela ho bona setšoantšo se latelang:

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Ka mor'a moo, ke ne ke thahasella li-folders tse arolelanoang, ho Master server, o ka hlalosa likhetho tse latelang:

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

E ikhethang bakeng sa sebaka se seng le se seng - seva e ke ke ea hokahanya lifoldara tsa sechaba lipakeng tsa libaka

E tloaelehileng bakeng sa libaka tsohle - li-server tsohle li tla lahla li-folders tse arolelanoang sebakeng se seng le se seng ebe li theha li-folders tse ncha bakeng sa libaka tsohle ho e 'ngoe ea li-server tsa mangolo.

Ela hloko ka kopo! Khetho ena, leha e fetola leano la tlhophiso ho li-server tsohle, e etsa khokahano ka thoko ho seva se seng le se seng (ke hore, ntle le sebaka se le seng se tloaelehileng)

Motsamaisi o tla ba le monyetla oa ho aba phihlello lipakeng tsa basebelisi.
tabeng ea ka - kaofela ha ka 'me ke hloka ho lumellana ho feletseng (Tabeng ea hau, tharollo e ka' na ea fapana) ho seva se seng le se seng u hloka ho theha lihlopha tse tšoanang tsa libaka tse lokelang ho lumellana.

2. Li-directory tsa data tsa Kerio

Joale o hloka ho theha li-directory tse tšoanang tse arolelanoang tse hlokang ho hokahanngoa ho e 'ngoe le e 'ngoe ea li-server. Lifoldara, Likhalendara, Mabitso.

Keletso - theha li-directory ka Senyesemane, haeba u li theha ka Selatine, bukana e tla ba le lebitso ka mofuta o mong oa khouto e sa utloisisoeng, bonyane sena ha se bonolo.

Hona joale o hloka ho fumana litsela tsa 'mele tsa li-folders tsa poso ho seva ka seng.

E tloaelehileng bakeng sa libaka tsohle ~DataMailmail#publicСинхронизируемый каталог#msgs
E ikhethang bakeng sa sebaka se seng le se seng ~DataMailmail**Domain**#publicСинхронизируемый каталог#msgs

Ka kopo hlokomela hore re ke ke ra hokahanya bukana eohle, empa feela setshelo sa data #msgs - lintho ka botsona li bolokiloe mona, lintlha tse ling kaofela bakeng sa e 'ngoe le e' ngoe ea li-server e tlameha ho ba tsa bona.

3. DFS

Nke ke ka hlalosa ka ho qaqileng mokhoa oa ho lokisa DFS, ho na le tlhahisoleseding e lekaneng tabeng ena.

DFS ke tšebeletso ea karolo ho Windows Server e fanang ka bokhoni ba ho kopanya lifoldara tse arolelanoang tse fumanehang ho li-server tse fapaneng
Hokela ho Tokomane ea MS DFS

Pele o lokisa DFS, o tlameha ho emisa li-server tsohle tsa mangolo tse tla nka karolo ho amahanyo ea data.

Qetellong ea ho seta, o lokela ho fumana setšoantšo se latelang bakeng sa e 'ngoe le e 'ngoe ea lifoldara tse hokahaneng

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

ka tlhaho ha re hloke ho phatlalatsa lifoldara tse kopitsoang.

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Ka mor'a hore ho pheta-pheta ho etsahala ('me ha ho letho le khethehileng la ho pheta-pheta moo - li-folders ha li na letho), li-server tsa poso li ka qalisoa.

Ka mor'a moo, o ka tlatsa e 'ngoe ea li-server tsa poso ka data mme u hlahlobe hore na data e kopitsoe ka nepo.

4. Molamu

Tlhaloso ea ho thuisa

Joalokaha u ka bona ka mor'a hore data e qale ho lumellana (DFS), haeba u entse ntho e itseng ho seva sa pele, ka tsela e itseng ha ho letho le hlahang ho seva sa bobeli, kapa le hlaha empa ka tsela e itseng eseng kamehla.

Ho tsieleha ha hoa lekana, ha e le hantle, kapele kapa hamorao ho tla hlaha moo, empa ho molemo kapele ho feta hamorao. Hobane e se e le morao ka lihora tse 6 - 12.

Taba ke hore hang ha u theha ntho ho seva sa pele, faele e tla hlaha hang-hang ho ea bobeli le e latelang ka lebaka la sistimi ea DFS, leha ho le joalo, haeba bukana ena ea mangolo e se e baliloe ke motho pele mme e tla. ho kopa hape, seva e ke ke ea boela ea bala foldara ea #msgs, empa e tla hlakola data ho tsoa ho index ea eona, e kanna ea se lumellane le 'nete ea rona ka nako e telele.

Kerio e na le mokhoa oa ho bala index hape, empa e ka sebetsa kamora lihora tse ts'eletseng, 'me nakong ea lihora tsena tse 6 bohlokoa ba mosebetsi almanakeng bo ka lahleha.
E le hore u hlahlobe mosebetsi oa ho hokahanya hona joale, u ka hlakola faele ho index.fld synchronized directory, ka mor'a ho boela u fumana fensetere ho seva sa poso 'me ha ho se na faele ena, Kerio o tla boela a bale bukana le data. e tla hlaha. Ho ka bonahala eka ena ke tharollo, hlakola faele ha data e fetoha, empa sena ha se sebetse nako le nako, empa ka lekhetlo la pele feela, joale ka lebaka le itseng Kerio e lahleheloa ke thahasello eohle ho index.fld
Kahoo e qala ho hlatsa melaetsa e sa utloisiseheng ho mosebelisi - mabapi le mofuta o itseng oa index le hore e se e ntse e etsa ho hong moo.

Ho na le khetho e 'ngoe, ho etsa ntho e itseng - nakong ea ho theha ntho e ncha, ka tšohanyetso seva se hlokomela hore lebitso la faele leo le neng le batla ho le fa le se le nkiloe, empa mona ke lehloa 'me sena ke qetello e shoeleng.

U ka ba joang?

Haeba u ela hloko hang hape ho setšoantšo seo re seng re se tseba.

Khokahano e felletseng ea lifoldara tse arolelanoang, mabitso, khalendara lipakeng tsa li-server tsa Kerio Connect tse ajoang

Empa ka sefofaneng se seng, u ka bona konopo e thahasellisang le e hlokahalang bakeng sa rona hona joale - Li-folders tsa reindex

'Me ka sebele. Haeba u tobetsa konopo ena ho seva sa poso se sa tsebeng hore se se se fetotse ho hong ho #msgs e hokahaneng, re tla fumana sephetho se tsitsitseng, se potlakileng. Ntho e 'ngoe le e 'ngoe e patiloeng e tla hlaka.

Ho log, u ka bona hore na ts'ebetso ena e nka nako e kae, tabeng ea ka ka litlaleho tse likete tse 'maloa (likete tse 15), tse ka bang metsotso ea 3-4.

E sala feela ho tseba hore na u ka tobetsa konopo ena joang, ebe ha re e hloka.

E hlaha Kerio ba le tsa bona API

tlhaloso
Litokomane

Mosebetsi o etsang mosebetsi oa rona o shebahala tjena −
session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)

Ho tsoa ho tsohle tse ka holimo, re hloka ho ngola script e neng e tla shebella boemo ba li-folders tse thahasellisang 'me, haeba ho na le ntho e fetohileng, etsa mosebetsi oo re o hlokang bakeng sa rona.

Ke batla ho bolela hore ke ngotse liphetolelo tse 'maloa tse fapaneng tsa mangolo a etsang licheke tse fapaneng, ke ile ka lula holim'a e etsang liqeto tsohle ho latela palo ea lifaele.

Phethahatso ea Sengoloa

Mohlala oa mongolo oa CMD le tlhaloso

Re-index.bat

@echo off
set dir=%~dp0
%dir:~0,2%
CD "%~dp0"
md "%CD%LOG"
md "%CD%Setup"

ECHO -Start- >> "%CD%LOG%Computername%.log"
ECHO Start -> %Computername% %Date% %Time% >> "%CD%LOG%Computername%.log"

SetLocal EnableDelayedExpansion
for /f "UseBackQ Delims=" %%A IN ("%CD%Setup%Computername%.List") do (
  set /a c+=1
  set "m!c!=%%A"
)

set d=%c%
Echo Folder = %c%
ECHO Folder = %c% >> "%CD%LOG%Computername%.log"
ECHO.
ECHO. >> "%CD%LOG%Computername%.log"

:start
cls
if %c% LSS 1 exit
set /a id=1
set R=0

:Find
REM PF-Start
if "%id%" gtr "%c%" if %R% == 1 Goto Reindex 
if "%id%" gtr "%c%" timeout 60 && Goto start

For /F "tokens=1-3" %%a IN ('Dir "!m%id%!#msgs" /-C/S/A:-D') Do Set 2DirSize!id!=!DS!& Set DS=%%c
if "2DirSize!id!" == "" set 1DirSize!id!=!2DirSize%id%!

echo %id%
ECHO !m%id%!
echo Count        [ !1DirSize%id%! -- !2DirSize%id%! ]

if "!1DirSize%id%!" == "!2DirSize%id%!" ECHO Synk

REM DEL index.fld
if "!1DirSize%id%!" NEQ "!2DirSize%id%!" del /f /q !m%id%!index.fld && del /f /q !m%id%!indexlog.fld && del /f /q !m%id%!search.fld && set R=1 && ECHO RE-index Count && ECHO RE-index Count %Date% %Time% - Delete !m%id%! >> "%CD%LOG%Computername%.log"

set 1DirSize!id!=!2DirSize%id%!

ECHO.
ECHO.

set /a id+=1
goto Find

:Reindex
ECHO. >> "%CD%LOG%Computername%.log"
ECHO --- RE-INDEX - Start - %Date% %Time% --- >> "%CD%LOG%Computername%.log"
ECHO. >> ----------------------------------- >> "%CD%LOG%Computername%.log"
call PublicFolders.py
timeout 60
goto start

exit

Kopi ea sengoloa e tsamaisoa ho seva se seng le se seng sa lengolo-tsoibila (e ka khonahala joalo ka ts'ebeletso, litokelo tsa Tsamaiso ha li hlokehe)

Script e bala faele Setup%Computername%.List

Moo %Computername% e leng lebitso la seva ea hajoale (Mongolo o ka ba le manane a li-server tsohle hang-hang.)

%Computername.Faele ea lenane e na le litsela tse felletseng tsa li-directory tse hokahaneng, tsela ka 'ngoe e ngotsoe mothalong o mocha, ha ea lokela ho ba le mela e se nang letho.

Ka mor'a lekhetlo la pele, script e etsa mokhoa oa ho ngolisa, ho sa tsotellehe hore na hoa hlokahala kapa che, script e boetse e etsa index ea palo ea lifaele ho e 'ngoe le e' ngoe ea li-directory tse lumellanang.

Mosebetsi oa script ke ho bala lifaele tsohle bukeng e boletsoeng.

Qetellong ea palo e 'ngoe le e' ngoe ea li-directory, haeba boleng ba hona joale ba lifaele bonyane bukeng e le 'ngoe e sa lumellane le e fetileng, sengoloa se hlakola lifaele ho tsoa bukeng ea motso oa bukana ea mangolo e hokahaneng: index.fld, indexlog.fld, search.fld mme e qala ts'ebetso ea indexing - lifoldara tsa mangolo a sechaba.

Lintlha tse mabapi le ho etsoa ha mesebetsi li lahleloa bukeng ea LOG.

Ts'ebetso ea indexing
Ts'ebetso ea indexing e fokotsehile ho phethahatsa mosebetsi oa Kerio API
Session = callMethod("Domains.checkPublicFoldersIntegrity",{}, letshwao)

Mohlala oa ho bolaoa o fanoe ka - python
PublicFolders.py

import json
import urllib.request
import http.cookiejar
""" Cookie storage is necessary for session handling """
jar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar))
urllib.request.install_opener(opener)
""" Hostname or ip address of your Kerio Control instance with protocol, port and credentials """

server = "http://127.0.0.1:4040"
username = "user"
password = "password"

def callMethod(method, params, token = None):
    """
    Remotely calls given method with given params.
    :param: method string with fully qualified method name
    :param: params dict with parameters of remotely called method
    :param: token CSRF token is always required except login method. Use method "Session.login" to obtain this token.
    """
    data =  {"method": method ,"id":1, "jsonrpc":"2.0", "params": params}

    req = urllib.request.Request(url = server + '/admin/api/jsonrpc/')
    req.add_header('Content-Type', 'application/json')
    if (token is not None):
        req.add_header('X-Token', token)    

    httpResponse = urllib.request.urlopen(req, json.dumps(data).encode())

    if (httpResponse.status == 200):
        body = httpResponse.read().decode()
        return json.loads(body)

session = callMethod("Session.login", {"userName":username, "password":password, "application":{"vendor":"Kerio", "name":"Control Api-Local", "version":"Python"}})
token = session["result"]["token"]
print (session)

session = callMethod("Domains.checkPublicFoldersIntegrity",{"domainId": "test2.local"}, token)
print (session)

callMethod("Session.logout",{}, token)

http://127.0.0.1:4040 o ka e tlohela e le joalo, empa haeba o hloka HTTPS, python e tlameha ho tšepa setifikeiti sa Kerio.

Ho boetse hoa hlokahala ho hlakisa faeleng ak'haonte e nang le litokelo tsa ho etsa ts'ebetso ena (Admin - lifoldara tsa mangolo a sechaba) tsa seva sa poso.

Ke tšepa hore sengoloa sa ka se tla ba molemo ho batsamaisi ba Kerio Connect.

Source: www.habr.com

Eketsa ka tlhaloso