බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

සුභ සන්ධ්‍යාවක්, හබ්ර්!

අරමුණු

මගේ සංවිධානය Kerio Connect වේදිකාවේ තැපැල් සේවාදායකයක් භාවිතා කරයි; තැපැල් සේවාදායකයන් ඔවුන්ගේ පරිශීලකයින්ට සේවය කිරීම සඳහා විවිධ නගරවල ස්ථාපනය කර ඇත. මුලදී බෙදාහැරීමේ ව්‍යුහයක් නොතිබුණි, මන්ද යත් තුන්වන මට්ටමේ වසම් වෙනස් වන අතර එය වෙබ් අඩවියේ නගරය පෙන්නුම් කරයි. සෑම දෙයක්ම සාර්ථක වූ අතර සෑම කෙනෙකුම සතුටු විය. එක් හොඳ දවසක්, කළමනාකාරිත්වය විසින් කාර්යයක් සකසා ඇත, සියලු අඩවි අතර ක්රියාකාරකම් පිළිබඳ පොදු දින දර්ශනයක්!

මුදලටය

මුලදී, අදහස වූයේ Kerio බෙදා හරින ලද තැපැල් වසම ඉහළ නැංවීම වන අතර එය සෑම දෙයක්ම තනිවම කරනු ඇත. වැඩි කල් යන්නට මත්තෙන්, බෙදා හරින ලද වසමක් නිර්මාණය විය, නමුත් එය එසේ නොවේ, එකම සේවාදායකයේ පිහිටා ඇති වසම් අතර දින දර්ශන, ෆෝල්ඩර, සම්බන්ධතා සමමුහුර්ත කිරීමට සේවාදායකය සූදානම්ව සිටි නමුත් කිහිපයක් අතර දත්ත සමමුහුර්ත කිරීමට කිසිසේත්ම ගියේ නැත. සේවාදායකයන්.

ඇත්ත වශයෙන්ම, මම එවැනි අල්ලා ගැනීමක් අපේක්ෂා නොකළ අතර මට අවශ්ය ක්රියාකාරිත්වය අතුරුදහන් වී ඇති බව දිගු කලක් විශ්වාස කළ නොහැකි විය. පසුව මට මෙම කරුණ පිළිබඳ ලේඛනගත සාක්ෂි හමු විය. මම මේකෙන් ගොඩක් ප්‍රහේලිකාවක් සහ කලකිරීමක් ඇති වුණා.

කාර්යය සුමටව ගැටලුවක් බවට පත් විය.

විකල්ප මොනවාද?

  • සමහර තෙවන පාර්ශවීය මෘදුකාංග සමඟ අවශ්‍ය දත්ත හුවමාරු කරන විවිධ සේවාදායකයන් මත සේවාදායකයින් දෙදෙනෙකු සාදන්න. මෙම ක්‍රියාකාරීත්වය ක්‍රියාත්මක කරන මෙම තෙවන පාර්ශවීය මෘදුකාංගය සොයා ගැනීම අවශ්‍ය විය - මම එවැනි රාක්කයකට කැමති නැත, නමුත් මෙය එකම ඉක්මන් විසඳුම බව පෙනෙන්නට තිබුණි.
  • සේවාදායකයන් අතර දත්ත සමමුහුර්ත කිරීම සඳහා ඔබේම පිටපතක් ලියන්න. කාරණය නම්, Kerio සෑම වස්තුවක්ම වෙනම ගොනුවක් ලෙස ගබඩා කරයි, එබැවින් ලිපිගොනු සමඟ වැඩ කිරීම සඳහා ස්ක්‍රිප්ට් එකක් සංවර්ධනය කිරීම අවශ්‍ය විය, නමුත් ප්‍රමාණවත් ප්‍රභවයන් අනුව, කාර්යය තරමක් සංකීර්ණ බවක් පෙනෙන්නට තිබුණි, විශේෂයෙන් බහුවිධ සිදු කිරීමට අවශ්‍ය වූ බැවිනි. යමෙක් එම කාල සීමාව තුළ කාර්යයක් නිර්මාණය කළහොත්, දත්තවල නිරවද්‍යතාවය පරීක්ෂා කරයි, ආදිය.

ඉදිරිය දෙස බලන විට, Kerio විසින් වස්තුවක් වෙනම ගොනුවක් ලෙස ගබඩා කළද, ඔබ වස්තුවට පිවිසෙන සෑම අවස්ථාවකම ගොනු පද්ධතිය ක්‍රියාත්මක වන්නේ කෙසේදැයි ඇසීමට තරම් මෝඩකමක් නොවන බව මම කියමි.

බොහෝ වේලාවක් කල්පනා කරමින්, “සතුරු භූමිය අල්ලා ගැනීමේ” සැලසුම් සහිත කඩදාසි කැබලි අඳිමින්, සවස 6 ට මම නිවැරදි තීරණ දෙකක් ගත්තෙමි:

  • පලවෙනි තීරණය තමා තමන්ගෙ දෙයක් කරන එක මිසක් පිටින් කිසිම දෙයක් හොයන්නෙ නැතුව.
  • දෙවන විසඳුම වන්නේ නින්දට යාමයි.

දැනටමත් උදේ මම අවදි වූයේ එක් තනි හා සත්‍ය සිතුවිල්ලකින් වන අතර එය අකුරු කිහිපයකට අඩු විය - DFS

තීරණය

විසඳුමම මේ ආකාරයෙන් පෙනුණි

  • OS Windows වෙත සමමුහුර්තකරණයට සහභාගී වන සියලුම සේවාදායකයන් ගෙන එන්න. (එහි කොටසක් Linux මත විය. වෙනත් OS එකකට තැපැල් දත්ත සංක්‍රමණය කිරීම අවශ්‍ය විය)
  • සමමුහුර්තකරණයට සහභාගී වන නාමාවලි වල ව්යුහය නිර්ණය කරන්න - ඒවා සමාන විය යුතුය.
  • තනි DFS ඉඩක් සහිත එක් වසමක් යටතේ සියලුම තැපැල් සේවාදායකයන් නිර්වචනය කරන්න.
  • ඉහත සඳහන් බෙදා හරින ලද Kerio වසම සාදන්න, මන්ද මගේ නඩුවේ දත්ත සමමුහුර්තකරණය අවශ්‍ය වේ, සේවාදායකයන් අතර පමණක් නොව වසම් අතරද; දෙවැන්න Kerio සේවාදායකයට ස්වාධීනව හැසිරවිය හැකිය. (පළමු එක මෙන් නොව)
  • සමමුහුර්ත නාමාවලි DFS අවකාශයට සකසන්න.
  • යම් ආකාරයක කිහිලිකරුවක් සමඟ එන්න (සියල්ලට පසු, ඔබට කිහිලිකරුවක් නොමැතිව ජීවත් විය නොහැක)

Реализация

තැපැල් සේවාදායකයන් දෙකක උදාහරණ (සමහර විට තවත්)

1. Kerio Distributed domain

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

මාස්ටර් සමමුහුර්තකරණයට සහභාගී නොවේ, නමුත් මෙය පූර්ව අවශ්යතාවයක් නොවේ.

Kerio බෙදා හරින ලද වසමක් මතු කරන්නේ කෙසේදැයි මම විස්තර නොකරමි, ඒ ගැන සංකීර්ණ කිසිවක් නොමැත, ඔබට නිල අධ්‍යයනය කළ හැකිය manul

අවසානයේදී, ඔබ පරිපාලන කොන්සෝලය තුළ පහත රූපය දැකිය යුතුය:

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

ඊළඟට මම හවුල් ෆෝල්ඩර ගැන උනන්දු විය; මාස්ටර් සේවාදායකයේ ඔබට පහත විකල්ප සඳහන් කළ හැකිය:

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

එක් එක් වසම සඳහා විශේෂිත - සේවාදායකය වසම් අතර පොදු ෆෝල්ඩර සමමුහුර්ත නොකරනු ඇත

සියලු වසම් සඳහා පොදු - සියලුම සේවාදායකයන් එක් එක් වසම තුළ පවතින පොදු ෆෝල්ඩර අතහැර දමා එක් එක් තැපැල් සේවාදායකයේ සියලුම වසම් සඳහා නව තනි ෆෝල්ඩර සාදනු ඇත.

කරුණාකරලා! මෙම විකල්පය සියලුම සර්වර් වල වින්‍යාස ප්‍රතිපත්තිය වෙනස් කළද, එය එක් එක් සේවාදායකයෙන් වෙන වෙනම සමමුහුර්ත කරයි (එනම්, තනි පොදු ඉඩක් නොමැතිව)

පරිපාලකයාට තවමත් පරිශීලකයන් අතර ප්‍රවේශය බෙදා හැරීමේ හැකියාව ඇත.
මගේ නඩුවේදී, ඒවා සියල්ලම මගේ වන අතර මට සම්පූර්ණ සමමුහුර්තකරණය අවශ්‍ය වේ (ඔබේ නඩුවේදී, විසඳුම වෙනස් විය හැක) එක් එක් සේවාදායකයේ ඔබ සමමුහුර්ත කළ යුතු සමාන වසම් කට්ටල සෑදිය යුතුය.

2. Kerio දත්ත නාමාවලි

දැන් ඔබට එක් එක් සේවාදායකයන් මත සමමුහුර්ත කළ යුතු සමාන බෙදාගත් නාමාවලි සෑදිය යුතුය. ෆෝල්ඩර, දින දර්ශන, සම්බන්ධතා.

උපදෙස් - ඉංග්‍රීසියෙන් නාමාවලි සාදන්න, ඔබ ඒවා ලතින් භාෂාවෙන් නිර්මාණය කරන්නේ නම්, නාමාවලියට සමහර තේරුම්ගත නොහැකි කේතීකරණයක නමක් ඇත, මෙය අවම වශයෙන් අපහසු වේ.

දැන් ඔබට එක් එක් සේවාදායකයේ තැපැල් ෆෝල්ඩරවල භෞතික මාර්ග සොයා ගැනීමට අවශ්ය වේ.

සියලු වසම් සඳහා පොදු ~DataMailmail#publicСинхронизируемый каталог#msgs
එක් එක් වසම සඳහා විශේෂිත ~DataMailmail**Domain**#publicСинхронизируемый каталог#msgs

අපි සම්පූර්ණ නාමාවලිය සමමුහුර්ත නොකරන බව කරුණාවෙන් සලකන්න, නමුත් දත්ත සහිත බහාලුම් පමණක් #පණිවිඩ — වස්තූන් ම මෙහි ගබඩා කර ඇත, අනෙක් සියලුම දත්ත එක් එක් සේවාදායකය සඳහා වෙන වෙනම තිබිය යුතුය.

3.DFS

DFS වින්‍යාස කරන්නේ කෙසේද යන්න මම විස්තරාත්මකව විස්තර නොකරමි, මෙම ගැටළුව පිළිබඳ ප්‍රමාණවත් තොරතුරු තිබේ.

DFS යනු විවිධ සේවාදායකයන් මත පිහිටා ඇති හවුල් ෆෝල්ඩර ඒකාබද්ධ කිරීමේ හැකියාව සපයන Windows Server හි කාර්ය භාර සේවාවකි.
MS DFS ලේඛනය වෙත සබැඳිය

DFS පිහිටුවීමට පෙර, ඔබ දත්ත සමමුහුර්තකරණයට සහභාගී වන සියලුම තැපැල් සේවාදායකයන් නතර කළ යුතුය.

සැකසුම අවසන් වූ පසු, ඔබට සමමුහුර්ත කළ එක් එක් ෆෝල්ඩර සඳහා පහත රූපය ලැබිය යුතුය

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

ස්වාභාවිකවම, අපට අනුරූ ෆෝල්ඩර ප්‍රකාශ කිරීමට අවශ්‍ය නැත.

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

අනුකරණය සිදු වූ පසු (සහ එහි අනුකරණය කිරීමට විශේෂ කිසිවක් නොමැත - ෆෝල්ඩර හිස්), තැපැල් සේවාදායකයන් ආරම්භ කළ හැකිය.

ඊළඟට, ඔබට එක් තැපැල් සේවාදායකයක් දත්ත සමඟ පුරවා දත්ත නිවැරදිව පිටපත් කර ඇත්දැයි පරීක්ෂා කළ හැකිය.

4. කිහිලිකරු

පරාවර්තනය පිළිබඳ විස්තරය

දත්ත සමමුහුර්ත කිරීම (DFS) ආරම්භ වූ පසු ඔබට පෙනෙන පරිදි, ඔබ පළමු සේවාදායකයේ යමක් නිර්මාණය කළේ නම්, කෙසේ හෝ දෙවන සේවාදායකයේ කිසිවක් නොපෙන්වයි, නැතහොත් එය දිස්වන නමුත් කෙසේ හෝ සැමවිටම නොවේ.

බලාපොරොත්තු සුන් නොකරන්න; ඇත්ත වශයෙන්ම, එය ඉක්මනින් හෝ පසුව එහි දිස්වනු ඇත, නමුත් පසුව වඩා ඉක්මනින්. පැය 6 - 12 කින් පරක්කු වැඩි නිසා.

කාරණය නම්, ඔබ පළමු සේවාදායකයේ යමක් නිර්මාණය කළ විගසම, දෙවන සහ පසුව ඇති සේවාදායකයන්හි, DFS පද්ධතියට ස්තූතිවන්ත වන පරිදි ගොනුව වහාම දිස්වනු ඇත, නමුත් මෙම තැපැල් නාමාවලිය මීට පෙර යමෙකු කියවා ඇත්නම් සහ නැවත ඉල්ලා සිටිනු ඇත, සේවාදායකය #msgs ෆෝල්ඩරය නැවත කියවා නොගන්නා නමුත් අපගේ යථාර්ථයට තවදුරටත් අනුරූප නොවන තමන්ගේම දර්ශකයෙන් දත්ත කෙළ ගසනු ඇත.

Kerio හට දර්ශකය නැවත කියවීම සඳහා යාන්ත්‍රණයක් ඇත, නමුත් එය පැය හයකින් පමණ වැඩ කළ හැකි අතර, මෙම පැය 6 තුළ දින දර්ශනයේ කාර්යයේ අදාළත්වය තරමක් නැති වී යා හැක.
දැන් සමමුහුර්තකරණය පරීක්ෂා කිරීම සඳහා, ඔබට තැපැල් සේවාදායකයේ ෆෝල්ඩරයට නැවත ප්‍රවේශ වීමෙන් පසුව, ඔබට අදාළ සමමුහුර්ත නාමාවලිය index.fld හි ගොනුව මකා දැමිය හැකි අතර මෙම ගොනුව අස්ථානගත වී ඇත්නම්, Kerio විසින් නාමාවලිය සහ දත්ත නැවත කියවනු ඇත. දිස් වනු ඇත. මෙය විසඳුම බව පෙනේ, දත්ත වෙනස් වූ විට ගොනුව මකන්න, නමුත් මෙය සෑම විටම ක්‍රියා නොකරයි, නමුත් පළමු වරට පමණක්, පසුව Kerio කිසියම් හේතුවක් නිසා index.fld කෙරෙහි ඇති උනන්දුව නැති වේ.
එය පරිශීලකයාට නොතේරෙන පණිවිඩ - යම් ආකාරයක දර්ශකයක් ගැන සහ එය දැනටමත් එහි යමක් කරමින් සිටින බවට පණිවිඩ පිට කිරීමට පටන් ගනී.

තවත් විකල්පයක් ඇත, යමක් නිර්මාණය කිරීමට - නව වස්තුවක් නිර්මාණය කිරීමේ මොහොතේ, සේවාදායකයා හදිසියේම තේරුම් ගන්නේ එය පැවරීමට අවශ්‍ය ගොනු නාමය දැනටමත් ගෙන ඇති නමුත් එය හිමබෝල වන අතර මෙය අවසන් විකල්පයකි.

කෙසේද?

දැනටමත් අපට හුරුපුරුදු පින්තූරයට නැවත වරක් අවධානය යොමු කළහොත්.

බෙදා හරින ලද Kerio Connect සේවාදායකයන් අතර බෙදාගත් ෆෝල්ඩර, සම්බන්ධතා, දින දර්ශන පූර්ණ සමමුහුර්තකරණය

නමුත් වෙනත් ගුවන් යානයක, අපට දැන් අවශ්‍ය ඉතා සිත්ගන්නා බොත්තමක් ඔබට දැක ගත හැකිය - Reindex ෆෝල්ඩර

සහ ඇත්ත වශයෙන්ම. සමමුහුර්ත කර ඇති #msgs හි දැනටමත් යමක් වෙනස් වී ඇති බව නොදන්නා තැපැල් සේවාදායකයක මෙම බොත්තම ක්ලික් කළහොත්, අපට ස්ථාවර, වේගවත් ප්‍රති result ලයක් ලැබෙනු ඇත. සැඟවුණු සියල්ල පැහැදිලි වනු ඇත.

මෙම ක්‍රියාවලියට කොපමණ කාලයක් ගතවේද යන්න ලොගයේ ඔබට දැක ගත හැකිය; මගේ නඩුවේ දහස් ගණනක් (15 දහසක්) වාර්තා සමඟ එය විනාඩි 3-4 ක් පමණ ගත වේ.

අප කළ යුත්තේ අපට අවශ්‍ය වූ විට මෙම බොත්තම ඔබන්නේ කෙසේදැයි සොයා බැලීමයි.

එය හැරෙනවා කෙරියෝ ඔවුන්ගේම ඇත API

විස්තර
ප්‍රලේඛනය

අපගේ කාර්යය ඉටු කරන කාර්යය මේ ආකාරයෙන් පෙනේ:
session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)

ඉහත සියල්ලෙන්, අපි උනන්දුවක් දක්වන ෆෝල්ඩරවල තත්වය නිරීක්ෂණය කරන ස්ක්‍රිප්ට් එකක් ලිවිය යුතු අතර, යමක් වෙනස් වී ඇත්නම්, අපට අවශ්‍ය කාර්යය ඉටු කරන්න.

මම විවිධ චෙක්පත් සිදු කරන ස්ක්‍රිප්ට් වල විවිධ අනුවාද කිහිපයක් ලියා ඇති බවත්, ගොනු ගණන මත පදනම්ව සියලු නිගමනවලට එළඹෙන එක මත පදිංචි වූ බවත් මට පැවසීමට අවශ්‍යය.

ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීම

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

ස්ක්‍රිප්ට් පිටපතක් එක් එක් තැපැල් සේවාදායකය මත ක්‍රියාත්මක වේ (සේවාවක් ලෙස භාවිතා කළ හැක, දැන්වීම් හිමිකම් අවශ්‍ය නොවේ)

පිටපත ගොනුව කියවයි Setup%Computername%.List

%Computername% යනු වත්මන් සේවාදායකයේ නමයි (ඩිරෙක්ටරියේ සියලුම සේවාදායකයන්ගේ ලැයිස්තු එකවර අඩංගු විය හැක.)

ගොනුව %Computername%.List - සමමුහුර්ත කළ නාමාවලි වල සම්පූර්ණ මාර්ග අඩංගු වේ, සෑම මාර්ගයක්ම නව රේඛාවක් මත ලියා ඇති අතර හිස් රේඛා අඩංගු නොවිය යුතුය.

පළමු දියත් කිරීමෙන් පසු, ස්ක්‍රිප්ට් අවශ්‍යද නැද්ද යන්න නොසලකා, සුචිගත කිරීමේ ක්‍රියා පටිපාටිය සිදු කරයි, සහ ස්ක්‍රිප්ට් එක එක් එක් සමමුහුර්ත නාමාවලියෙහි ඇති ගොනු සංඛ්‍යාව පිළිබඳ දර්ශකයක් ද නිර්මාණය කරයි.

ස්ක්‍රිප්ට් එකේ අරමුන වන්නේ නියමිත ඩිරෙක්ටරියේ ඇති සියලුම ගොනු ගණන් කිරීමයි.

එක් එක් බහලුම ගණන් කිරීම අවසානයේ, අවම වශයෙන් එක් නාමාවලියක ගොනු වල වත්මන් අගය පෙර එකට නොගැලපේ නම්, ස්ක්‍රිප්ට් එක සමමුහුර්ත තැපැල් නාමාවලියෙහි මූල නාමාවලියෙන් ගොනු මකා දමයි: index.fld, indexlog.fld, search.fld සහ හවුල් තැපැල් ෆෝල්ඩර සුචිගත කිරීමේ ක්රියාවලිය ආරම්භ කරයි.

කාර්යය ක්‍රියාත්මක කිරීම පිළිබඳ තොරතුරු LOG නාමාවලියට දමනු ලැබේ.

සුචිගත කිරීමේ ක්රියාවලිය
සුචිගත කිරීමේ ක්‍රියාවලිය Kerio API ශ්‍රිතයක් ක්‍රියාත්මක කිරීම දක්වා පැමිණේ
සැසිය = callMethod("Domains.checkPublicFoldersIntegrity",{}, ටෝකනය)

උදාහරණයක් ක්රියාත්මක කිරීම ලබා දී ඇත - 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 ඔබට එය එලෙසම තැබිය හැක, නමුත් ඔබට HTTPS අවශ්‍ය නම්, python Kerio සහතිකය විශ්වාස කළ යුතුය.

තැපැල් සේවාදායකයේ මෙම කාර්යය (ඇඩ්ම් - පොදු තැපැල් ෆෝල්ඩර) ඉටු කිරීම සඳහා ඔබ හිමිකම් සහිත ගිණුමක් ද ගොනුවේ සඳහන් කළ යුතුය.

මගේ ලිපිය Kerio Connect පරිපාලකයින්ට ප්‍රයෝජනවත් වනු ඇතැයි මම බලාපොරොත්තු වෙමි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න