def initialize_spooler(self):
self.spooler["src_cache"] = self.spooler["src"]
self.spooler["dst_cache"] = self.spooler["dst"]
self.spooler["src_webmail"] = self.is_webmail(self.spooler["src"])
self.spooler["dst_webmail"] = self.is_webmail(self.spooler["dst"])
for fqdn in self.domains_info:
self.domains_info[fqdn]["size"] = self.domain_usage_space(self.spooler["src"], fqdn)
src_cache = {
"user": "root",
"passwd": SP_DB_CACHE_PSW,
"host": self.spooler["src_cache"],
"db": f"{self.spooler['src']}_spooler_cache"
}
dst_cache = {
"user": "root",
"passwd": SP_DB_CACHE_PSW,
"host": self.spooler["dst_cache"],
"db": f"{self.spooler['dst']}_spooler_cache"
}
self.spooler["src_cache"] = dbw.DBClient(src_cache)
self.spooler["dst_cache"] = dbw.DBClient(dst_cache)
self.domains_info[fqdn]["src_mailboxes"] = self.get_mailboxes(self.spooler["src"], fqdn)
if not self.domains_info[fqdn]["src_mailboxes"]:
self.logger.error(f"Get src_mailboxes for domain {fqdn}: Fail")
raise SystemExit(1)
self.spooler["src_backup_interface"], self.spooler["src_backup_ip"] = self._get_backup_network(self.spooler['src'])
self.spooler["dst_backup_interface"], self.spooler["dst_backup_ip"] = self._get_backup_network(self.spooler['dst'])
ZGVmIGluaXRpYWxpemVfc3Bvb2xlcihzZWxmKToKICAgIHNlbGYuc3Bvb2xlclsic3JjX2NhY2hlIl0gPSBzZWxmLnNwb29sZXJbInNyYyJdCiAgICBzZWxmLnNwb29sZXJbImRzdF9jYWNoZSJdID0gc2VsZi5zcG9vbGVyWyJkc3QiXQogICAgc2VsZi5zcG9vbGVyWyJzcmNfd2VibWFpbCJdID0gc2VsZi5pc193ZWJtYWlsKHNlbGYuc3Bvb2xlclsic3JjIl0pCiAgICBzZWxmLnNwb29sZXJbImRzdF93ZWJtYWlsIl0gPSBzZWxmLmlzX3dlYm1haWwoc2VsZi5zcG9vbGVyWyJkc3QiXSkKCiAgICBmb3IgZnFkbiBpbiBzZWxmLmRvbWFpbnNfaW5mbzoKICAgICAgICBzZWxmLmRvbWFpbnNfaW5mb1tmcWRuXVsic2l6ZSJdID0gc2VsZi5kb21haW5fdXNhZ2Vfc3BhY2Uoc2VsZi5zcG9vbGVyWyJzcmMiXSwgZnFkbikKICAgICAgICAKICAgICAgICBzcmNfY2FjaGUgPSB7CiAgICAgICAgICAgICJ1c2VyIjogInJvb3QiLAogICAgICAgICAgICAicGFzc3dkIjogU1BfREJfQ0FDSEVfUFNXLAogICAgICAgICAgICAiaG9zdCI6IHNlbGYuc3Bvb2xlclsic3JjX2NhY2hlIl0sCiAgICAgICAgICAgICJkYiI6IGYie3NlbGYuc3Bvb2xlclsnc3JjJ119X3Nwb29sZXJfY2FjaGUiCiAgICAgICAgfQogICAgICAgIGRzdF9jYWNoZSA9IHsKICAgICAgICAgICAgInVzZXIiOiAicm9vdCIsCiAgICAgICAgICAgICJwYXNzd2QiOiBTUF9EQl9DQUNIRV9QU1csCiAgICAgICAgICAgICJob3N0Ijogc2VsZi5zcG9vbGVyWyJkc3RfY2FjaGUiXSwKICAgICAgICAgICAgImRiIjogZiJ7c2VsZi5zcG9vbGVyWydkc3QnXX1fc3Bvb2xlcl9jYWNoZSIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc2VsZi5zcG9vbGVyWyJzcmNfY2FjaGUiXSA9IGRidy5EQkNsaWVudChzcmNfY2FjaGUpCiAgICAgICAgc2VsZi5zcG9vbGVyWyJkc3RfY2FjaGUiXSA9IGRidy5EQkNsaWVudChkc3RfY2FjaGUpCiAgICAgICAgCiAgICAgICAgc2VsZi5kb21haW5zX2luZm9bZnFkbl1bInNyY19tYWlsYm94ZXMiXSA9IHNlbGYuZ2V0X21haWxib3hlcyhzZWxmLnNwb29sZXJbInNyYyJdLCBmcWRuKQogICAgICAgIAogICAgICAgIGlmIG5vdCBzZWxmLmRvbWFpbnNfaW5mb1tmcWRuXVsic3JjX21haWxib3hlcyJdOgogICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcihmIkdldCBzcmNfbWFpbGJveGVzIGZvciBkb21haW4ge2ZxZG59OiBGYWlsIikKICAgICAgICAgICAgcmFpc2UgU3lzdGVtRXhpdCgxKQogICAgICAgIAogICAgc2VsZi5zcG9vbGVyWyJzcmNfYmFja3VwX2ludGVyZmFjZSJdLCBzZWxmLnNwb29sZXJbInNyY19iYWNrdXBfaXAiXSA9IHNlbGYuX2dldF9iYWNrdXBfbmV0d29yayhzZWxmLnNwb29sZXJbJ3NyYyddKQogICAgc2VsZi5zcG9vbGVyWyJkc3RfYmFja3VwX2ludGVyZmFjZSJdLCBzZWxmLnNwb29sZXJbImRzdF9iYWNrdXBfaXAiXSA9IHNlbGYuX2dldF9iYWNrdXBfbmV0d29yayhzZWxmLnNwb29sZXJbJ2RzdCddKQ==