equal
deleted
inserted
replaced
37 --logdir=s directory where logfiles will go to ($opt_logdir) |
37 --logdir=s directory where logfiles will go to ($opt_logdir) |
38 --maxage=i synchronize only mails younger than $(opt_maxage) |
38 --maxage=i synchronize only mails younger than $(opt_maxage) |
39 --help this help text |
39 --help this help text |
40 --folders only sync folders |
40 --folders only sync folders |
41 --acls fix ACLs |
41 --acls fix ACLs |
|
42 --shared migrage shared mailboxes |
42 # |
43 # |
43 |
44 |
44 use strict; |
45 use strict; |
45 use warnings; |
46 use warnings; |
46 use Smart::Comments; |
47 use Smart::Comments; |
71 my $opt_skip = 0; |
72 my $opt_skip = 0; |
72 my $opt_logdir = "./imapsync-log/"; |
73 my $opt_logdir = "./imapsync-log/"; |
73 my $opt_maxage = 0; |
74 my $opt_maxage = 0; |
74 my $opt_folders = 0; |
75 my $opt_folders = 0; |
75 my $opt_acls = 0; |
76 my $opt_acls = 0; |
|
77 my $opt_shared = 0; |
76 |
78 |
77 GetOptions( |
79 GetOptions( |
78 "dry-ryn" => \$opt_dry, |
80 "dry-ryn" => \$opt_dry, |
79 "skip" => \$opt_skip, |
81 "skip" => \$opt_skip, |
80 "folders" => \$opt_folders, |
82 "folders" => \$opt_folders, |
81 "acls" => \$opt_acls, |
83 "acls" => \$opt_acls, |
|
84 "shared" => \$opt_shared, |
82 "logdir=s" => \$opt_logdir, |
85 "logdir=s" => \$opt_logdir, |
83 "maxage=i" => \$opt_maxage, |
86 "maxage=i" => \$opt_maxage, |
84 ) or die eval "\"$usage\""; |
87 ) or die eval "\"$usage\""; |
85 |
88 |
86 if ($opt_acls) { |
89 if ($opt_acls) { |
88 #system('cat cyrus_mbox_acls.txt | sed s/root@[^\t]*/root/ | su - cyrus -c "/usr/sbin/ctl_mboxlist -u"'); |
91 #system('cat cyrus_mbox_acls.txt | sed s/root@[^\t]*/root/ | su - cyrus -c "/usr/sbin/ctl_mboxlist -u"'); |
89 system('cat cyrus_mbox_acls.txt | sed \'s/root@[^\t]*/root/\' | su - cyrus -c "/usr/sbin/ctl_mboxlist -u"'); |
92 system('cat cyrus_mbox_acls.txt | sed \'s/root@[^\t]*/root/\' | su - cyrus -c "/usr/sbin/ctl_mboxlist -u"'); |
90 |
93 |
91 exit 0; |
94 exit 0; |
92 } |
95 } |
|
96 |
|
97 if ($opt_shared) { |
|
98 system("./imapsync --syncacls --ssl1 --ssl2 --prefix2 'Shared Folders' --prefix1 'Shared Folders' --sep1 / --sep2 / --host1 $imap_from_host --host2 $imap_to_host --subscribe --user1 heiko\@schlittermann.de --user2 heiko\@schlittermann.de --authuser1 root --authuser2 root --password1 x --password2 x --folder 'Shared Folders/domains'"); |
|
99 exit 0; |
|
100 } |
|
101 |
|
102 |
93 |
103 |
94 ### connection to mysql account database |
104 ### connection to mysql account database |
95 my $dbh = DBI->connect($dsn, $db_user, $db_pass, { RaiseError => 1} ) or |
105 my $dbh = DBI->connect($dsn, $db_user, $db_pass, { RaiseError => 1} ) or |
96 die "$ME: cannot conncet to mysql: $!\n"; |
106 die "$ME: cannot conncet to mysql: $!\n"; |
97 |
107 |