Manuia le aoauli, Habr!
Faamoemoega
O lo'o fa'aogaina e la'u fa'alapotopotoga se meli meli i luga o le Kerio Connect platform; o lo'o fa'apipi'i 'au meli i 'a'ai 'ese'ese e tautua ai a latou tagata fa'aoga. I le taimi muamua e leai se fausaga tufatufaina, talu ai e eseese vaega i le tulaga lona tolu, e faʻaalia ai le aai o le saite. Sa aoga mea uma ma sa fiafia tagata uma. I se tasi aso lelei, na faatulaga ai e le pulega se galuega, o se kalena masani o gaoioiga i le va o nofoaga uma!
prehistory
Muamua, o le manatu o le siitia lea o le Kerio Distributed Mail Domain ma o le a faia mea uma lava. O le taimi lava na fai mai ai, na faia se vaega tufatufaina, ae e le o le tulaga lena, ua sauni le server e faʻafetaui kalena, faila, fesoʻotaʻiga - i le va o vaega o loʻo i luga o le server lava e tasi, ae e leʻi alu e faʻafetaui faʻamaumauga i le va o le tele. 'au'auna.
O le mea moni, ou te leʻi faʻamoemoeina se puʻe ma mo se taimi umi e le mafai ona talitonu o loʻo misi le galuega na ou manaʻomia. Mulimuli ane na ou mauaina ni faamaoniga o lenei mea moni. Sa ou matua le mautonu ma le fiafia i lenei mea.
Na sologa lelei le galuega i se faafitauli.
O a filifiliga?
- Fausia ni tagata fa'atau se lua i luga o 'au'aunaga eseese e fa'afesuia'i fa'amatalaga talafeagai ma nisi polokalama fa'apitoa. Na manaʻomia le suʻeina o lenei polokalame lona tolu o le a faʻatinoina lenei faʻatinoga - Ou te le fiafia i na rake, ae na foliga mai na o le pau lea o le fofo vave.
- Tusi lau oe lava tusitusiga mo faʻamaumauga faʻatasi i le va o sapalai. O le mea moni o Kerio o loʻo teuina mea taʻitasi o se faila eseese, o lea na tatau ai ona atiaʻe se tusitusiga mo le galue ma faila, ae i le vaʻai i le lava numera o punaoa, o le galuega na foliga mai e faigata tele, aemaise lava talu ai e tatau ona faʻatino le tele. siaki mo le sa'o o fa'amaumauga, pe a fai e faia e se tasi se galuega i le taimi lava e tasi, ma isi, ma isi.
Vaʻai i luma, o le a ou fai atu e ui lava e teuina e Kerio se mea e fai o se faila ese, e le faʻavalevalea e fesili pe faʻafefea le faiga faila i taimi uma e te maua ai le mea.
I le faʻaaluina o le tele o le taimi e mafaufau ai, tusia se fusi o fasipepa ma fuafuaga "e faoa le teritori a le fili," i le 6 i le taeao na ou faia ai ni filifiliga saʻo se lua:
- O le filifiliga muamua o le faia lea o lau lava mea ae le o le suʻeina o se mea mai fafo.
- O le fofo lona lua o le alu e moe.
Ua i ai i le taeao na ou ala aʻe ma se manatu tasi ma le moni, lea na faʻaititia i ni nai mataitusi - DFS
faaiuga
O le fofo lava ia e pei o lenei
- aumai uma 'au'aunaga o le a auai i le fa'amaopoopoina i le OS Windows. (O se vaega sa i luga ole Linux. Sa mana'omia le femalaga'iga o fa'amatalaga meli ile isi OS)
- Fuafua le faʻatulagaina o faʻatonuga o le a auai i le faʻamaopoopoina - e tatau ona tutusa.
- Fa'amatala 'au'aunaga meli uma i lalo o le tasi vaega ma se avanoa DFS e tasi.
- Fausia le vaega o loʻo taʻua i luga o le Kerio, talu ai i laʻu mataupu e manaʻomia le tuʻufaʻatasia o faʻamaumauga, e le gata i le va o sapalai ae faʻapea foi i le va o vaega; o le lona lua e mafai ona taulimaina e le Kerio server tutoatasi. (e le pei o le muamua)
- Seti fa'atonu fa'atonuga ile avanoa DFS.
- Sau i luga ma se ituaiga tootoo (pe a uma, e le mafai ona e ola e aunoa ma se tootoo)
Реализация
Fa'ata'ita'iga i 'au meli e lua (atonu e sili atu)
1. Kerio Distributed domain
E le auai le Matai i le faamaopoopoina, ae e le o se tulaga manaomia.
O le a ou le faʻamatalaina pe faʻafefea ona faʻatupuina se Kerio tufatufaina atu, e leai se mea faigata e uiga i ai, e mafai ona e suʻesuʻeina le ofisa aloaia.
Mulimuli ane, e tatau ona e vaʻai i le ata lenei i le faʻamafanafanaga pulega:
O le isi sa ou fiafia i faila fefaʻasoaaʻi; i luga o le Master server e mafai ona e faʻamaonia filifiliga nei:
Fa'apitoa mo vaega ta'itasi - o le a le fa'aogaina e le 'au'aunaga fa'asalalauga lautele i le va o vaega
E masani i itu uma - o le a lafoa'i e 'au'aunaga uma faila fa'alaua'itele o lo'o iai i vaega ta'itasi ma fa'atupu ni fa'ailoga fou e tasi mo vaega uma i luga o sapalai meli ta'itasi.
Faʻamolemole faʻamolemole! E ui lava o lenei filifiliga e suia le faiga faʻavae i luga o 'auʻaunaga uma, e tuʻufaʻatasia ese mai 'auʻaunaga taʻitasi (o lona uiga, e aunoa ma se avanoa masani e tasi)
O le pule o le a maua pea le tomai e tufatufa atu avanoa i le va o tagata faʻaoga.
i loʻu tulaga, o latou uma o aʻu ma ou te manaʻomia le tuʻufaʻatasia atoatoa (I lau mataupu, atonu e ese le fofo) i luga o 'auʻaunaga taʻitasi e te manaʻomia le fatuina o seti tutusa o domains e manaʻomia ona tuʻufaʻatasia.
2. Kerio fa'amaumauga fa'amaumauga
Ole taimi nei e te manaʻomia le fatuina o faʻasalalauga faʻasoa tutusa e manaʻomia ona faʻafetaui i luga o 'auʻaunaga taʻitasi. Folders, Kalena, Feso'ota'iga.
Fautuaga - fai fa'atonuga i le Igilisi, afai e te fatuina i le Latina, o le lisi o le ai ai se igoa i nisi fa'ailoga e le mafai ona malamalama i ai, o le mea lea e le faigofie.
Ole taimi nei e te mana'omia le su'eina o ala fa'aletino o fa'ailoga meli i luga ole server ta'itasi.
E masani i itu uma ~DataMailmail#publicСинхронизируемый каталог#msgs
Fa'apitoa mo vaega ta'itasi ~DataMailmail**Domain**#publicСинхронизируемый каталог#msgs
Faamolemole ia matau o le a matou le fa'amaopoopoina le lisi atoa, ae na'o le atigipusa ma fa'amaumauga #msgs - o mea lava ia o loʻo teuina iinei, o isi faʻamatalaga uma e tatau ona tuʻueseese mo server taʻitasi.
3.DFS
O le a ou le faʻamatalaina auiliili pe faʻafefea ona faʻapipiʻi le DFS, e lava faʻamatalaga i lenei mataupu.
O le DFS o se tautua taua i le Windows Server e maua ai le tomai e tuʻufaʻatasia ai faila faʻasoa o loʻo i luga o sapalai eseese
A'o le'i fa'atūina le DFS, e tatau ona e fa'amuta uma 'au meli o le a auai i fa'atasiga fa'amaumauga.
A maeʻa le seti, e tatau ona e mauaina le ata o loʻo i lalo mo faʻasalalauga taʻitasi
E masani lava, matou te le manaʻomia le faʻasalalauina o faila faila.
A maeʻa le toe faia (ma e leai se mea faʻapitoa e toe faia iina - o loʻo gaogao faʻailoga), e mafai ona amataina le meli.
Ma le isi, e mafai ona e faʻatumu se tasi o meli meli i faʻamaumauga ma siaki o faʻamaumauga saʻo saʻo.
4. Tootoo
Fa'amatalaga o mafaufauga
E pei ona mafai ona e vaʻaia pe a uma ona amata faʻatasi faʻamaumauga (DFS), afai e te fatuina se mea i luga o le server muamua, e leai se mea e aliali mai i luga o le server lona lua, pe faʻaalia ae e le o taimi uma.
Aua le faʻavaivai; ioe, o le a aliali mai iina i se taimi vave pe mulimuli ane, ae sili atu i se taimi mulimuli ane. Aua ua tuai tele ile 6 - 12 itula.
O le mea o le taimi lava na e fatuina ai se mea i luga o le server muamua, i luga o le server lona lua ma mulimuli ane o le faila o le a vave ona aliali mai faʻafetai i le DFS system, ae i le tulaga ua uma ona faitauina e se tasi lenei lisi meli. ma toe talosagaina, o le a le toe faitau e le server le #msgs folder ae o le a sasaa mai faʻamatalaga mai lana lava faasino igoa, atonu e le toe fetaui ma lo tatou moni.
Kerio ei ai se masini mo le toe faitauina o le faasinoupu, ae e mafai ona galue i le tusa ma le ono itula, ma i totonu o nei itula 6 atonu e fai si leiloa le taua o le galuega i le kalena.
Ina ia mafai ona faʻataʻitaʻi le faʻamaopoopoina i le taimi nei, e mafai ona e tapeina le faila i totonu o le faʻatonuga faʻapipiʻi tutusa index.fld, pe a uma ona toe faʻafeiloaʻi le faila i luga o le meli meli ma afai e misi lenei faila, o le a toe faitau e Kerio le lisi ma faʻamaumauga. o le a aliali mai. E foliga mai o le fofo lea, tape le faila pe a suia faʻamaumauga, ae e le aoga i taimi uma, ae naʻo le taimi muamua, ona faʻaumatia ai lea e Kerio mo nisi mafuaaga le fiafia i le index.fld.
E amata fo'i ona tu'u i fafo ni fe'au e le mafai ona malamalama i ai le tagata fa'aoga - e uiga i se ituaiga o fa'asinomaga ma o lo'o ia faia se mea iina.
O loʻo i ai se isi filifiliga, e fai ai se mea - i le taimi o le fatuina o se mea fou, na faʻafuaseʻi ona iloa e le 'auʻaunaga o le igoa faila na manaʻo e tuʻuina atu ua uma ona ave, ae o le kiona ma o se filifiliga mate.
E faʻapefea?
Afai tatou te toe gauai atu i le ata lea ua masani ai i tatou.
Ae i luga o se isi vaalele, e mafai ona e vaʻai i se ki sili ona manaia matou te manaʻomia nei - Toe fa'asino igoa
Ma e moni lava. Afai tatou te kiliki i luga o lenei ki i luga o se meli meli e le iloa ua uma ona suia se mea i le synchronized #msgs, o le a tatou maua se taunuuga mautu, vave. O mea uma natia o le a manino.
I totonu o le ogalaau e mafai ona e vaʻai pe o le a le umi o lenei faagasologa; i laʻu tulaga ma le tele o afe (15 afe) faʻamaumauga e tusa ma le 3-4 minute.
Pau lava le mea e tatau ona tatou faia o le mafaufau pe faʻafefea ona oomi moni lenei ki pe a tatou manaʻomia.
E aliali mai Kerio e iai a latou lava mea API
O le galuega e faʻatino ai la matou galuega e pei o lenei:
session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)
Mai mea uma o loʻo i luga, e manaʻomia ona tatou tusia se tusitusiga e mataʻituina ai le tulaga o faila e fiafia i ai ma, afai ua suia se mea, fai le galuega tatou te manaʻomia.
Ou te fia fai atu na ou tusia le tele o lomiga eseese o tusitusiga e faia ai siaki eseese, ma faʻamautu i luga o le tasi e maua ai faʻaiuga uma e faʻatatau i le numera o faila.
Fa'atinoina o tusitusiga
CMD script faʻataʻitaʻiga ma faʻamatalaga
Toe 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
O se kopi o le tusitusiga e faʻaoga i luga o meli taʻitasi (e mafai ona faʻaaogaina o se tautua, e le manaʻomia le aia tatau a Adm)
E faitau e le tusitusiga le faila Setup%Computername%.List
O fea %Computername% o le igoa o le 'au'aunaga o lo'o i ai nei (O le fa'atonuga e mafai ona iai lisi o fa'aumau uma i le taimi e tasi.)
O le faila %Computername%.List – o lo'o i ai ala atoa o fa'atonuga fa'atasi, o ala ta'itasi e tusia i se laina fou, ma e le tatau ona i ai ni laina gaogao.
A maeʻa le faʻalauiloaina muamua, e faʻatino e le tusitusiga le faʻasologa o le faasino igoa, e tusa lava pe talafeagai pe leai, ma o le tusitusiga foi e fatuina ai se faʻailoga o le numera o faila i totonu o faʻasalalauga taʻitasi.
O le fa'amoemoega o le fa'asologa o le faitau uma o faila i totonu o le lisi fa'apitoa.
I le fa'ai'uga o le faitauina o fa'atonuga ta'itasi, pe a le itiiti ifo ma le tasi le fa'atonuga o le tau o faila o lo'o i ai nei e le fetaui ma le mea muamua, e tapeina e le tusitusiga faila mai le a'a o le lisi meli fa'atasi: index.fld, indexlog.fld, search.fld
ma amata le fa'asologa o fa'asinomaga o faila meli fefa'asoaa'i.
O fa'amatalaga e uiga i le fa'atinoina o galuega e lafo i totonu o le LOG directory.
Fa'asologa o fa'asinomaga
O le fa'asologa o fa'asinomaga e sau i lalo i le fa'atinoina o se galuega Kerio API
Session = callMethod("Domains.checkPublicFoldersIntegrity",{}, fa'ailoga)
O se faʻataʻitaʻiga faʻatinoga o loʻo tuʻuina atu i totonu - python
PublicFolds.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)
I totonu foi o le faila e tatau ona e faʻamaonia se tala ma aia tatau e faʻatino ai lenei galuega (Adm - public mail folders) o le meli meli.
Ou te faʻamoemoe o le a aoga laʻu tusiga i Kerio Connect pule.
puna: www.habr.com