Я только что обновил MacBook Pro под управлением Snow Leopard до Mountain Lion.
В Snow Leopard я использовал iCal, и у меня была 10-летняя история внутри.
Теперь в Mountain Lion это приложение было переименовано в Календарь, и я нахожу все свои 9 названий календарей, но они пусты.
Я просто заполняю все дни рождения и 2 подписанных календаря.
Глядя на /var/log/system.log
я нашел 2 часа сообщений об ошибках, таких как:
2 сентября 18:41:01 localhost mdworker[759]: кодировка UTF8 не удалась для Ãloïse @ Juterbog 2 сентября 18:41:02 localhost mdworker [759]: ошибка проверки даты: EXDATE = '20020916T220000Z' 2 сентября 18:41:02 localhost mdworker [759]: ошибка проверки даты: EXDATE = '20021022T220000Z' 2 сентября 18:41:02 localhost mdworker [759]: ошибка проверки даты: EXDATE = '20020620T220000Z' 2 сентября 18:41:02 localhost mdworker [759]: ошибка проверки даты: EXDATE = '20010414T220000Z 20010415T220000Z' 2 сентября 18:41:02 localhost mdworker[759]: кодировка UTF8 не удалась для вакансий школьников été [...] 2 сентября 18:41:02 localhost mdworker [759]: неверный символ: (58) для mParamName в строке 432 2 сентября 18:41:02 localhost mdworker[759]: неверный символ. (46) для mParamName в строке 432 2 сентября 18:41:02 localhost mdworker [759]: неверный символ (32) для mParamName в строке 432 2 сентября 18:41:02 localhost mdworker[759]: *** ПРЕДУПРЕЖДЕНИЕ Недопустимый компонент, отбрасывание: Ошибка домена = com.apple.iCalendar Code = 1000 «Для VEVENT требуется DTSTART». UserInfo=0x7fada22d24a0 {NSLocalizedDescription=DTSTART требуется для VEVENT.}
Эти сообщения об ошибках выглядят так, как будто они явно связаны с ошибкой переноса моих календарей. К сожалению, никаких объяснений и сообщений об ошибках не было показано, чтобы объяснить, как это исправить.
Как восстановить все мои личные календари iCal?
В Mountain Lion файлы календаря хранятся в формате /Users/USERNAME/Library/Calendars/
. Если все правильно, вы найдете кучу папок, которые заканчиваются на .caldav
или .calendar
, которые содержат другую папку с именем Events
, которая содержит события в виде .ics
файлов.
Допустим, мое имя пользователя bob
и у меня есть резервный диск с именем sequoia
.
Вот один из способов быстро исправить это неправильное поведение миграции. Весь этот процесс шел через Terminal
команды.
ПокидатьCalendar
Сделайте резервную копию поврежденных календарей (на всякий случай, если что-то может пойти еще хуже, даже если я был в худшем состоянии, которое я когда-либо мог себе представить):
cd /Users/bob/Library/Calendars
mkdir .bak
mv *.calendar Calendar\ Cache .bak
Скопируйте резервные копии календарей, чтобы заменить поврежденные:
cd /Volumes/sequoia/Users/bob/Library/Calendars
cp -pR *.calendar ~/Library/Calendars
Запустите Calendar
и убедитесь, что он все правильно конвертирует (это заняло много минут).
Если все в порядке, очистите бесполезный каталог резервных копий:
cd /Users/bob/Library/Calendars
rm -rf .bak
Дэн
.calendar
подкаталоги, но внутри нихEvents
подкаталог пуст. Очевидно, миграция не удалась тайно.Саару Линдестокке
Дэн
Саару Линдестокке
.ics
элементы, и вернуть свои старые события. Хотя это мое предположение, сам не пробовал.