ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

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

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

ʻ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 manul

ʻO ka hope loa, pono ʻoe e ʻike i kēia kiʻi i loko o ka console administration:

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

A laila makemake wau i nā waihona like ʻole; ma ka Master server hiki iā ʻoe ke kuhikuhi i kēia mau koho:

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

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
loulou i ka palapala MS DFS

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

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

Ma keʻano maʻamau, ʻaʻole pono mākou e hoʻopuka i nā faila i hoʻopili ʻia.

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻ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.

ʻO ka hoʻonohonoho piha ʻana o nā waihona i kaʻana like, nā pilina, nā kalena ma waena o nā kikowaena Kerio Connect i hāʻawi ʻia

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

hōʻikeʻano
ʻO ka palapala

ʻ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)

http://127.0.0.1:4040 hiki iā ʻoe ke waiho e like me ia, akā inā makemake ʻoe iā HTTPS, pono ʻo python e hilinaʻi i ka palapala Kerio.

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

Pākuʻi i ka manaʻo hoʻopuka