Aloha ahiahi, Habr!
Nń Pahuhopu
Hoʻohana kaʻu hui i kahi kikowaena leka uila ma ka platform Kerio Connect; ua hoʻokomo ʻia nā kikowaena leka uila ma nā kūlanakauhale like ʻole e lawelawe i kā lākou mea hoʻohana. I ka hoʻomaka ʻana ʻaʻohe ʻano i hoʻokaʻawale ʻia, no ka mea, ʻokoʻa nā kikowaena i ke kolu o ka pae, e hōʻike ana i ke kūlanakauhale o ka pūnaewele. Ua hana nā mea a pau a hauʻoli nā mea a pau. I kekahi lā maikaʻi, hoʻonohonoho ka hoʻokele i kahi hana, kahi kalena maʻamau o nā hana ma waena o nā pūnaewele āpau!
prehistory
I ka hoʻomaka ʻana, ʻo ka manaʻo e hoʻāla i ka Kerio Distributed Mail Domain a hana ia i nā mea āpau iā ia iho. ʻAʻole i ʻōlelo ʻia ma mua o ka hana ʻana, ua hana ʻia kahi kikowaena mahele, akā ʻaʻole ia ka hihia, ua mākaukau ke kikowaena e hoʻonohonoho i nā kalena, folders, contacts - ma waena o nā kikowaena i loaʻa ma ka server hoʻokahi, akā ʻaʻole ia e hoʻonohonoho i ka ʻikepili ma waena o kekahi. nā kikowaena.
ʻO wau, ʻoiaʻiʻo, ʻaʻole wau i manaʻo i kahi hopu a no ka manawa lōʻihi ʻaʻole hiki ke manaʻoʻiʻo ua nalowale ka hana aʻu e pono ai. Ma hope mai ua loaʻa iaʻu nā hōʻike palapala no kēia ʻoiaʻiʻo. Pihoihoi loa au a hoka i keia.
Ua lilo ka hana i pilikia.
He aha nā koho?
- E hana i ʻelua mau mea kūʻai ma nā kikowaena like ʻole e hoʻololi i ka ʻikepili kūpono me kekahi polokalamu ʻaoʻao ʻekolu. Pono e ʻimi i kēia polokalamu ʻaoʻao ʻekolu e hoʻokō i kēia hana - ʻaʻole wau makemake i kēlā rake, akā me he mea lā ʻo ia wale nō ka hopena wikiwiki.
- Kākau i kāu palapala ponoʻī no ka hoʻonohonoho ʻikepili ma waena o nā kikowaena. ʻO ka mea ʻoiaʻiʻo, mālama ʻo Kerio i kēlā me kēia mea ma ke ʻano he faila ʻokoʻa, no laila pono e hoʻomohala i kahi palapala no ka hana ʻana me nā faila, akā no ka lawa ʻana o nā kumu, ua ʻano paʻakikī ka hana, ʻoiai ʻo ia ka mea pono e hana i nā mea he nui. nānā i ka pololei o ka ʻikepili, inā hana kekahi i ka hana i ka manawa like, etc., etc.
I ka nānā ʻana i mua, e ʻōlelo wau ʻoiai ʻo Kerio e mālama i kahi mea ma ke ʻano he faila ʻokoʻa, ʻaʻole ia he naʻaupō e nīnau i ke ʻano o ka ʻōnaehana faila i kēlā me kēia manawa ke komo ʻoe i kahi mea.
Ma hope o ka hoʻolilo ʻana i ka manawa nui e noʻonoʻo ai, e kākau ana i nā ʻāpana pepa me nā hoʻolālā "e hopu i ka ʻāina ʻenemi," i ka hola 6 ua hana wau i ʻelua mau hoʻoholo kūpono:
- ʻO ka hoʻoholo mua e hana i kāu mea ponoʻī a ʻaʻole e ʻimi i kekahi mea mai waho.
- ʻO ka lua o ka hopena e hele i ka hiamoe.
I ke kakahiaka ua ala wau me ka manaʻo hoʻokahi a me ka ʻoiaʻiʻo, i hoʻemi ʻia i kekahi mau leka - DFS
olelo hooholo
ʻO ka hoʻonā ponoʻī i like me kēia
- lawe mai i nā kikowaena āpau e komo i ka hoʻonohonoho ʻana i OS Windows. (Aia kekahi hapa o ia mea ma Linux. Ua koi ʻia ka neʻe ʻana o ka ʻikepili leka i kahi OS ʻē aʻe)
- E hoʻoholo i ke ʻano o nā papa kuhikuhi e komo i ka synchronization - pono lākou e like.
- E wehewehe i nā kikowaena leka a pau ma lalo o hoʻokahi kikowaena me hoʻokahi wahi DFS.
- E hana i ka ʻaoʻao Kerio i ʻōlelo ʻia ma luna, no ka mea, i koʻu hihia, pono ka hoʻonohonoho ʻana o ka ʻikepili, ʻaʻole wale ma waena o nā kikowaena akā ma waena o nā kikowaena; hiki ke mālama ʻia ka lua e ke kikowaena Kerio kūʻokoʻa. (ʻaʻole like me ka mea mua)
- E hoʻonoho i nā papa kuhikuhi i hoʻonohonoho ʻia i ka hakahaka DFS.
- E hele mai me kekahi ʻano koʻi (ma hope o nā mea a pau, ʻaʻole hiki iā ʻoe ke ola me ke koʻi ʻole)
Ka hoʻokō
Laʻana ma nā kikowaena leka ʻelua (ʻoi aku paha)
1. Kerio Distributed domain
ʻAʻole komo ka Haku i ka synchronization, akā ʻaʻole kēia he koi.
ʻAʻole wau e wehewehe pehea e hoʻāla ai i kahi kikowaena Kerio i hāʻawi ʻia, ʻaʻohe mea paʻakikī e pili ana iā ia, hiki iā ʻoe ke aʻo i ka luna
ʻO ka hope loa, pono ʻoe e ʻike i kēia kiʻi i loko o ka console administration:
A laila makemake wau i nā waihona like ʻole; ma ka Master server hiki iā ʻoe ke kuhikuhi i kēia mau koho:
Kūkākūkā no kēlā me kēia kikowaena - ʻaʻole e hoʻonohonoho ke kikowaena i nā waihona lehulehu ma waena o nā kāʻei kapu
Mea maʻamau i nā kāʻei kapu a pau - e haʻalele nā kikowaena a pau i nā waihona lehulehu e kū nei ma kēlā me kēia kikowaena a hana i nā waihona hoʻokahi hou no nā kāʻei kapu ma kēlā me kēia kikowaena leka uila.
E hoʻomaikaʻi mai! ʻOiai ke hoʻololi nei kēia koho i ke kulekele hoʻonohonoho ma nā kikowaena āpau, hoʻonohonoho ʻokoʻa ia mai kēlā me kēia kikowaena (ʻo ia hoʻi, me ka ʻole o kahi wahi maʻamau)
Loaʻa i ka luna hoʻomalu ka mana e puʻunaue i ke ala ma waena o nā mea hoʻohana.
i koʻu hihia, naʻu lākou a pau a makemake au i ka hoʻonohonoho piha ʻana (I kāu hihia, ʻokoʻa paha ka hopena) ma kēlā me kēia kikowaena pono ʻoe e hana i nā pūʻulu like o nā kikowaena e pono e hoʻonohonoho ʻia.
2. Nā papa kuhikuhi ʻikepili Kerio
I kēia manawa pono ʻoe e hana i nā papa kuhikuhi like like e pono e hoʻonohonoho ʻia ma kēlā me kēia kikowaena. Nā waihona, nā kalena, nā mea pili.
'Ōlelo Aʻo - e hana i nā papa kuhikuhi ma ka ʻōlelo Pelekania, inā ʻoe e hana iā lākou ma ka ʻōlelo Latina, e loaʻa i ka papa kuhikuhi kahi inoa i loko o kekahi encoding hiki ʻole ke hoʻomaopopo ʻia, ʻaʻole pono kēia.
I kēia manawa pono ʻoe e ʻimi i nā ala kino o nā waihona leka ma kēlā me kēia kikowaena.
Mea maʻamau i nā kāʻei kapu a pau ~DataMailmail#publicСинхронизируемый каталог#msgs
Kūkākūkā no kēlā me kēia kikowaena ~DataMailmail**Domain**#publicСинхронизируемый каталог#msgs
E ʻoluʻolu, ʻaʻole mākou e hoʻonohonoho i ka papa kuhikuhi holoʻokoʻa, akā ʻo ka pahu wale nō me ka ʻikepili #msgs - mālama ʻia nā mea ponoʻī ma aneʻi, pono e hoʻokaʻawale ʻia nā ʻikepili ʻē aʻe no kēlā me kēia kikowaena.
3.DFS
ʻAʻole wau e wehewehe kikoʻī pehea e hoʻonohonoho ai i ka DFS, ua lawa ka ʻike e pili ana i kēia pilikia.
He lawelawe kuleana ʻo DFS ma Windows Server e hāʻawi ana i ka hiki ke hoʻohui i nā waihona like i loaʻa ma nā kikowaena like ʻole
Ma mua o ka hoʻonohonoho ʻana iā DFS, pono ʻoe e kāpae i nā kikowaena leka a pau e komo i ka hoʻonohonoho ʻikepili.
I ka pau ʻana o ka hoʻonohonoho, pono e loaʻa iā ʻoe ke kiʻi aʻe no kēlā me kēia o nā waihona i hoʻonohonoho ʻia
Ma keʻano maʻamau, ʻaʻole pono mākou e hoʻopuka i nā faila i hoʻopili ʻia.
Ma hope o ka hana hou ʻana (a ʻaʻohe mea kūikawā e hana hou ai ma laila - ʻaʻohe o nā waihona), hiki ke hoʻomaka ʻia nā kikowaena leka uila.
A laila, hiki iā ʻoe ke hoʻopiha i kekahi o nā kikowaena leka uila me ka ʻikepili a nānā i ka hoʻopili pololei ʻana o ka ʻikepili.
4. Kākau
Ka wehewehe no ka noonoo ana
E like me kāu e ʻike ai ma hope o ka hoʻomaka ʻana o ka ʻikepili i ka synchronizing (DFS), inā ʻoe i hana i kekahi mea ma ka server mua, ʻaʻohe mea e ʻike ʻia ma ka server lua, a i ʻole e ʻike ʻia akā ʻaʻole i nā manawa a pau.
Mai hopohopo; ʻoiaʻiʻo, e ʻike ʻia ma laila a ma hope paha, akā ʻoi aku ka maikaʻi ma mua o hope. No ka mea ua lohi loa i nā hola 6 - 12.
ʻO ka mea, i ka wā i hana ai ʻoe i kahi mea ma ka kikowaena mua, ma ka lua a me nā kikowaena hope e ʻike koke ʻia ka faila i ka ʻōnaehana DFS, akā inā ua heluhelu ʻia kēia leka uila e kekahi ma mua. a noi hou ʻia, ʻaʻole e heluhelu hou ke kikowaena i ka waihona #msgs akā e kuha i ka ʻikepili mai kāna papa kuhikuhi ponoʻī, ʻaʻole paha e like me kā mākou ʻoiaʻiʻo.
Loaʻa iā Kerio kahi hana no ka heluhelu hou ʻana i ka papa kuhikuhi, akā hiki ke hana ma kahi o ʻeono mau hola, a i loko o kēia mau hola 6 e nalowale paha ka pili o ka hana ma ka kalena.
I mea e hoʻāʻo ai i ka hoʻonohonoho ʻana i kēia manawa, hiki iā ʻoe ke holoi i ka faila ma ka papa kuhikuhi i hoʻonohonoho ʻia ʻo index.fld, ma hope o ke komo hou ʻana i ka waihona ma ka leka uila a inā nalowale kēia faila, e heluhelu hou ʻo Kerio i ka papa kuhikuhi a me ka ʻikepili. e puka mai ana. Me he mea lā ʻo ia ka hopena, e holoi i ka faila i ka wā e loli ai ka ʻikepili, akā ʻaʻole hana kēia i kēlā me kēia manawa, akā ʻo ka manawa mua wale nō, a laila nalowale ʻo Kerio no kekahi kumu i ka hoihoi i index.fld
Hoʻomaka ʻo ia e kuha i nā memo hiki ʻole ke hoʻomaopopo ʻia e ka mea hoʻohana - e pili ana i kekahi ʻano kuhikuhi a ke hana nei ia i kekahi mea ma laila.
Aia kekahi koho ʻē aʻe, e hana i kahi mea - i ka manawa o ka hana ʻana i kahi mea hou, ʻike koke ke kikowaena ua lawe ʻia ka inoa faila i makemake ʻia e hāʻawi, akā he hau hau a he koho make-hope kēia.
Pehea e?
Inā mākou e hoʻolohe hou i ke kiʻi i kamaʻāina mua iā mākou.
Akā ma kahi mokulele ʻē aʻe, hiki iā ʻoe ke ʻike i kahi pihi hoihoi loa e pono ai mākou i kēia manawa - E kuhikuhi hou i nā waihona
A ʻoiaʻiʻo. Inā mākou e kaomi i kēia pihi ma kahi kikowaena leka i ʻike ʻole ua loli kekahi mea i ka synchronized #msgs, e loaʻa iā mākou kahi hopena paʻa a wikiwiki. E akaka nā mea huna.
Ma ka log hiki iā ʻoe ke ʻike i ka lōʻihi o kēia kaʻina hana; i koʻu hihia me nā kaukani (15 tausani) mau moʻolelo e lawe ʻia ma kahi o 3-4 mau minuke.
ʻO nā mea a mākou e hana ai, ʻo ka noʻonoʻo ʻana i ke kaomi maoli ʻana i kēia pihi inā pono mākou.
ʻIke ʻia kēlā Kerio loaʻa iā lākou iho API
ʻO ka hana e hana i kā mākou hana e like me kēia:
session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)
Mai nā mea a pau i luna, pono mākou e kākau i kahi palapala e nānā i ke kūlana o nā waihona hoihoi a, inā i loli kekahi mea, e hana i ka hana a mākou e pono ai.
Makemake wau e ʻōlelo ua kākau wau i nā ʻano like ʻole o nā palapala e hana ana i nā loiloi like ʻole, a hoʻoholo i ka mea e huki i nā hopena āpau e pili ana i ka helu o nā faila.
Hoʻokō palapala
Hoʻohālike a me ka wehewehe ʻana i ka palapala CMD
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
E holo ana ke kope o ka palapala ma kēlā me kēia kikowaena leka uila (hiki ke hoʻohana ʻia ma ke ʻano he lawelawe, ʻaʻole koi ʻia nā kuleana Adm)
Heluhelu ka palapala i ka faila Setup%Computername%.List
ʻO %Computername% ka inoa o ke kikowaena o kēia manawa (Hiki i ka papa kuhikuhi nā papa inoa o nā kikowaena a pau i ka manawa hoʻokahi.)
ʻO ka faila %Computername%.List – aia nā ala piha o nā papa kuhikuhi i hoʻonohonoho ʻia, kākau ʻia kēlā me kēia ala ma kahi laina hou, ʻaʻole pono e loaʻa nā laina ʻole.
Ma hope o ka hoʻomaka mua ʻana, hana ka ʻatikala i ke kaʻina hana kuhikuhi, me ka nānā ʻole inā pono a ʻaʻole paha, a hana pū ka palapala i ka helu helu o nā faila i kēlā me kēia papa kuhikuhi synchronized.
ʻO ke kumu o ka palapala ka helu ʻana i nā faila a pau i ka papa kuhikuhi i kuhikuhi ʻia.
I ka pau ʻana o ka helu ʻana i kēlā me kēia papa kuhikuhi, inā ma ka liʻiliʻi hoʻokahi papa kuhikuhi ka waiwai o nā faila i kēia manawa ʻaʻole i kūlike me ka mea ma mua, e holoi ka palapala i nā faila mai ka papa kuhikuhi kumu o ka papa kuhikuhi leka uila i hoʻonohonoho ʻia: index.fld, indexlog.fld, search.fld
a hoʻomaka i ke kaʻina helu helu o nā waihona leka uila.
Hoʻolei ʻia ka ʻike e pili ana i ka hoʻokō ʻana i ka hana ma ka papa kuhikuhi LOG.
Kaʻina helu helu
Ke iho nei ke kaʻina hana kuhikuhi i ka hoʻokō ʻana i kahi hana Kerio API
Session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)
Hāʻawi ʻia kahi hiʻohiʻona hoʻokō - 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 loko o ka faila pono ʻoe e kuhikuhi i kahi moʻokāki me nā kuleana e hana i kēia hana (Adm - nā waihona leka uila) o ka server mail.
Manaʻo wau e pono kaʻu ʻatikala i nā luna o Kerio Connect.
Source: www.habr.com