Ich habe imapsync 1.727 getestet, um imap von einer älteren Version von Zimbra (7.1.4) mit Version 8.7.7 zu synchronisieren und habe mit dem folgenden Befehl einen Fehler wie oben erhalten:
imapsync \
--maxsize 52428800 --buffersize 8192000 \
--nofoldersizes --nosyncacls --subscribe --syncinternaldates \
--authmech2 PLAIN \
--exclude '(?i)\b(Junk|Spam|Trash)\b' \
--skipheader 'X-*' \
--regexflag 's/\\\\(Answered|Flagged|Deleted|Seen|Recent|Draft)[^\s]*\s*//ig' --debugflags \
--regextrans2 's,:,-,g' \
--regextrans2 's,\",'\'',g' \
--regextrans2 's,\s+(?=/|$),,g' \
--regextrans2 's,^(Briefcase|Calendar|Contacts|Emailed Contacts|Notebook|Tasks)(?=/|$), $1 Folder,ig' \
--host1 "$host1" --host2 "$host2" \
--user1 "$username" --authuser1 admin_account_name \
--password1 admin_account_password \
--user2 "$username" --authuser2 admin_account_name \
--password2 admin_account_password \
--regextrans2 's,\",-,g' \ # change quotes to dashes
--regextrans2 's,&AAo-|&AA0ACg-|&AA0ACgANAAo-(?=/|$),,g' \
--ssl1 --authmech1 PLAIN --maxcommandlength1 16384 \
--dry --debug --debugimap \
Warum ist es in Zeile 18 fehlgeschlagen, aber regtrans2 nicht in anderen Zeilen?
Antwort1
Auf eine Zeilenfortsetzung ist kein Kommentar in der gleichen Zeile folgt.
Das ist in Ordnung:
echo \
hello
Das ist nicht in Ordnung:
echo \ #newline here
hello
Im ersten Beispiel \
wird der Zeilenumbruch durch maskiert und der ausgeführte Befehl lautet echo hello
.
Im zweiten Fall \
wird einfach das Leerzeichen dahinter entfernt und wir erhalten #newline here
als Ausgabe, gefolgt von der Fehlermeldung hello: not found [No such file or directory]
(oder ähnlichem).
Entfernen Sie also den Kommentar (alles, einschließlich des Leerzeichens nach dem letzten \
) in der Zeile, die jetzt lautet
--regextrans2 's,\",-,g' \ # change quotes to dashes
Antwort2
Aus früheren Erfahrungen kann man schließen, dass es möglicherweise so aussieht, als müsste es speziell wie unten beschrieben neu angeordnet werden, damit es funktioniert.
imapsync \
--dry \
--host1 "$host1" --host2 "$host2" \
--user1 "$username" --authuser1 admin \
--ssl1 --authmech1 PLAIN \
--password1 "$admin_account_password" \
--user2 "$username" --authuser2 admin \
--ssl2 --authmech2 PLAIN \
--password2 "$admin_account_password" \
--maxsize 52428800 --buffersize 8192000 \
--nofoldersizes --nosyncacls --subscribe --syncinternaldates \
--authmech2 PLAIN \
--exclude '(?i)\b(Junk|Spam|Trash)\b' \
--skipheader 'X-*' \
--regextrans2 "s,&AAo-|&AA0ACg-|&AA0ACgANAAo-(?=/|$),,g" \
--regexflag 's/\\\\(?!Answered|Flagged|Deleted|Seen|Recent|Draft)[^\s]*\s*//ig' --debugflags \
--regextrans2 's,:,-,g' \
--regextrans2 's,\",'\'',g' \
--regextrans2 's,\s+(?=/|$),,g' \
--regextrans2 "s,^(Briefcase|Calendar|Contacts|Emailed Contacts|Notebook|Tasks)(?=/|$), $1 Folder,ig" \
--regextrans2 's,\",-,g' \