Sun Java System Calendar Server 6 2005Q4 管理指南

第 15 章 管理日历

本章介绍了如何使用 Calendar Server 命令行实用程序来创建和管理日历,它包含以下主题:

日历管理概述

Delegated Administrator 不会创建或管理日历。您必须使用附录 D,Calendar Server 命令行实用程序参考 中介绍的 Calendar Server 实用程序。

在创建日历之前,您必须了解以下信息:

要运行 cscalcsresource,必须以对运行 Calendar Server 的系统具备管理权限的用户身份登录。您必须从 /opt/SUNWics5/cal/sbin 目录运行这些命令。也就是说,必须更改为 sbin 目录;不能通过指定该路径而从其他目录运行这些命令。

创建日历的唯一标识符 (calid)

Calendar Server 数据库中的每个日历都由一个唯一的日历标识符 (ID) 或 calid 标识。创建日历时,要求指定 calid

本节包含以下主题:

Calid 语法

数据库中的每个日历都由一个唯一的日历 ID (calid) 标识。下面的 calid 语法分成三部分:

userid[@domain][:calendar-name]

这三个部分分别为:

userid

此 Calendar Server 实例中的域的唯一用户 ID。

domain

用户的域的名称。

如果没有托管域,则域这一部分可选,因为用户位于哪个域中是明确的。

如果存在托管域,而又没有指定域这一部分,则 Calendar Server 将使用 ics.conf 参数 service.defaultdomain 中指定的值来指定域。如果用户不在默认的域中,则必须指定域部分。

有关托管域(也称作虚拟域)的更多信息,请参见第 11 章,设置托管域第 13 章,管理托管域

calendar-name

特定用户的唯一可选日历名。虽然一个属主只有一个默认日历,但是,出于其他用途,有可能拥有多个日历。每个非默认日历由其日历名称识别。例如,如果用户 John Doe 拥有 uid jdoe,则他的默认日历可能是 jdoe@sesta.com。而他用于记录他所执教的 Little League 队的棒球比赛的附加日历则可能由下面的 calid 标识:jdoe@sesta.com:baseball

日历 ID 创建规则

创建 calid 时,请注意以下规则:

将非托管 calid 转换为托管域格式的 calid

如果在拥有托管域之前已创建 calid,并且现在希望将非托管域 calid 转换为托管域 calid,可以使用 csvdmig 实用程序将域部分添加到现有 calid 中。有关如何使用此实用程序的说明,请参见csvdmig

自动创建用户日历

本节包含以下主题:

自动创建日历功能

用户首次登录时,Calendar Server 将为用户自动创建默认日历。此功能称为自动置备。默认情况下,将启用自动置备功能。但是,自动置备仅可用于用户日历;资源日历必须显式创建。

Calendar Server 将根据用户 ID 为这个新的默认日历创建日历 ID (calid),除非已存在同名的日历。

例如,如果 John Smith 使用用户 ID jsmith 首次登录 Calendar Server,则 Calendar Server 将自动创建以 jsmith 作为 calid 的默认日历。John Smith 随后创建的每个日历的 calid 都将使用 jsmith: 作为日历名称的前缀。例如,如果 John Smith 随后创建了名为 meetings 的新日历,则新日历(在非托管环境中)的 calidjsmith:meetings


注 –

如果将不具有默认日历的用户指定为参与者,则 Calendar Server 将显示错误消息未找到日历


Procedure启用自动置备

默认情况下,将启用自动置备。但是,如果要在禁用它以后再次启用它,请执行以下步骤:

步骤
  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 在 Calendar Server 配置文件 ics.conf 中编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    local.autoprovision

    设置为 "yes",则允许在用户首次登录后自动创建默认日历。默认情况下,将启用自动置备。 

    要禁用此功能,请将该值设置为 "no"。 

  5. 验证是否已为日历启用了用户的 LDAP 条目。

    此条目必须包含 icsCalendarUser 对象类。如果尚不存在该对象类,请向用户的 LDAP 条目添加该对象类。

  6. 如果站点使用托管域,则用户的域也必须启用日历,自动置备才能正常运行。此域条目必须包含 icsCalendarDomain 对象类。

  7. 保存此文件。

  8. 重新启动 Calendar Server。

    cal_svr_base/SUNWics5/cal/sbin/start-cal

Procedure禁用自动置备

步骤
  1. 以有权更改此配置的管理员身份登录。

  2. 转至 /etc/opt/SUNWics5/cal/config 目录。

  3. 通过复制和重命名旧的 ics.conf 文件来保存该文件。

  4. 在 Calendar Server 配置文件 ics.conf 中编辑下表中所示的一个或多个参数:

    参数 

    说明和默认值 

    local.autoprovision

    将该参数设置为 no 将禁用用户日历的自动置备。

  5. 保存此文件。

  6. 重新启动 Calendar Server。

    cal_svr_base/SUNWics5/cal/sbin/start-cal


    注 –

    如果禁用了自动置备,则必须为用户明确创建日历,用户才能成功登录。


日历访问控制

Calendar Server 使用存取控制表 (Access Control List, ACL) 来确定日历、日历属性和日历组件(例如事件和待办事件 [任务])的访问控制。

本节包含以下主题:

访问控制的配置参数

下表介绍了 ics.conf 文件中 Calendar Server 用于访问控制的配置参数。

表 15–1 访问控制的配置参数

参数 

说明 

calstore.calendar.default.acl

指定用户创建日历时使用的默认访问控制设置。默认值为: 

"@@o^a^r^g;@@o^c^wdeic^g;

@^a^fs^g;@^c^^g;@^p^r^g"

calstore.calendar.owner.acl

指定日历属主的默认访问控制设置。默认值为: 

"@@o^a^rsf^g;@@o^c^wdeic^g"

resource.default.acl

指定创建资源日历时使用的默认访问控制设置。默认值为: 

"@@o^a^r^g;@@o^c^wdeic^g;

@^a^rsf^g"

“公用”和“私人”事件与任务过滤器

创建新事件或任务时,用户可以指定该事件或任务是“公用”、“私人”还是“仅时间与日期(保密)”:

公用

对用户的日历拥有读取权限的任一用户均可以查看事件或任务。

私人

仅日历属主可以查看事件或任务。

仅时间与日期

这些是保密事件和任务。日历属主可以查看事件或任务。拥有日历读取权限的其他用户只能查看日历中“未命名的事件”,而且此标题不是一个活动链接。

calstore.filterprivateevents 确定 Calendar Server 是否过滤(识别)“私人”和“仅时间与日期(保密)”事件和任务。默认情况下,此参数设置为 "yes"。如果将 calstore.filterprivateevents 设置为 "no",那么 Calendar Server 将按处理“公用”事件和任务的方式处理“私人”及“仅时间与日期”事件和任务。

访问控制的命令行实用程序

下表介绍了 Calendar Server 命令行实用程序,它们允许您设置或修改访问控制的 ACL:

表 15–2 访问控制的命令行实用程序

实用程序 

说明 

cscal

使用带有 -a 选项的 createmodify 命令为特定的用户日历或资源日历设置 ACL。

csresource

如果正在使用 csresource 创建资源日历(在 Schema 1 模式下运行),请使用带有 -a 选项的 csresource 实用程序来设置资源日历的 ACL。

commadmin user

csuser

使用 Schema 2 commadmin 实用程序更改用户创建日历时使用的默认 ACL。

使用带 -a 选项的 Schema 1 csuser 实用程序更改用户创建日历时使用的默认 ACL。


注 –

要在 Delegated Administrator 控制台中从“组织属性”页(或从“新建组织”向导)设置访问权限,请单击“高级权限”按钮查看可通过控制台管理的访问权限列表。


创建日历

本节包含以下主题:

使用 cscal 创建用户日历

要创建新日历,请使用 cscal 实用程序的 create 命令。LDAP 目录中必须已经存在用户条目或资源条目。有关向 LDAP 目录添加用户和资源的信息,请参阅第 14 章,管理用户和资源

如果您的站点使用的是 LDAP 日历查找数据库 (Calendar Lookup Database, CLD) 插件,则必须按照用户条目或资源条目中的 icsDWPHost LDAP 属性中的指定,在同一后端服务器上为特定用户或资源创建所有日历。如果试图在不同的后端服务器上创建日历,cscal 实用程序将返回一条错误消息。有关 LDAP CLD 插件的信息,请参见第 6 章,在多个计算机上配置日历数据库分发

例如,可使用以下命令创建日历 ID (calid) 为 jsmith 的新日历:

cscal -o jsmith -n JohnSmithCalendar create jsmith

其中:

要创建属主为 John Smith,可见名称为 Hobbies,并且使用默认访问控制设置进行组计划的日历,请使用以下命令:

cscal -n Hobbies -o jsmith create Personal

其中:

以下示例将创建与上一个示例类似的新日历,但它还将日历与名为 sports 的类别关联,同时还启用了双重预订,并指定 Ron Jones 作为另一个属主:

cscal -n Hobbies -o jsmith -g sports -k yes -y rjones create Personal

其中:

以下示例创建了与上一个示例类似的日历,但它还为组计划设置了特定的访问控制设置值:

cscal -n Hobbies -o jsmith -a "@@o^a^sfr^g" create Personal

其中,-a "@@o^a^sfr^g" 为其他属主授予对该日历的组件和日历属性的预定、空闲/繁忙和读取访问权限,以便进行组计划。

准备创建资源日历

资源日历与可以预定的事物关联,例如,会议室、笔记本计算机、顶置光源投影机以及其他设备。资源日历需要访问控制列表。

表 15–3 所示,ics.conf 文件中的两个配置参数适用于资源日历:

要更改这些参数(如表 15–3 中所示)的默认值,请编辑 ics.conf 文件。对默认值所做的更改只能应用到新的资源日历,而不能更改现有资源日历的值。

对于 Schema 1,使用 Calendar Server 实用程序 cscal 更改现有资源日历的值。csresource 实用程序没有 modify 命令。

对于 Schema 2,使用 Delegated Administrator 实用程序的 commadmin resource modify 命令。Delegated Administrator 控制台不允许您更改日历资源的这些值。


注 –

Calendar Server 通知软件不会向资源发送通知,而是仅向用户发送通知。


表 15–3 ics.conf 文件中的资源日历配置参数

参数 

说明和默认值 

resource.default.acl

此参数决定创建资源日历时使用的默认访问控制权限。默认权限由以下访问控制列表 (ACL) 指定: 

"@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

此 ACL 将授予所有日历用户读取、调度和空闲/繁忙访问该日历(包括组件和属性)的权限。 

要更改资源的权限,请在使用 csresource 实用程序的 create 命令创建日历时使用 -a 选项。

resource.allow.doublebook

此参数决定资源日历是否允许双重预订。双重预订允许资源日历同时具有多个预定的事件。 

默认值为 "no"—不允许双重预订。

要启用资源日历的双重预订功能,请在使用 csresource 实用程序的 create 命令创建日历时使用 -k 选项。

创建资源日历

Calendar Server 没有资源日历的自动置备功能。对于您的站点需要的每个资源,必须使用以下方法:


注 –

如果已存在该资源的 LDAP 条目,csresource 将仅创建日历。而不会创建重复的 LDAP 条目。


有关 Delegated Administrator 实用程序的更多信息,请参见《Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide》

有关 Delegated Administrator 控制台的更多信息,请参见联机帮助。

有关 csresource 的更多信息,请参见附录 D,Calendar Server 命令行实用程序参考

允许双重预订资源日历

默认情况下,Calendar Server 不允许对资源日历进行双重预订(resource.allow.doublebook 参数)。此默认值用于防止资源(例如房间和设备)的预定冲突。但是,如果您要允许对资源日历进行双重预订,可以在创建日历时将 csresource -k 选项设置为 "yes"。

以下命令创建了资源 LDAP 条目和日历,但 -k 选项允许对日历进行双重预订,-o 选项指定 bkamdar 作为日历的属主,而 -y 选项指定 jsmith 作为另一个属主:

csresource -m aud100@siroe.com -c aud100 -k yes
    -o bkamdar -y jsmith create Auditorium

限制对资源日历的访问

要控制可以预定特定资源的人员,请考虑限制对资源日历具有写入权限的用户。例如,您可能只希望几个特定用户预定会议室或设备。

如果不为资源日历指定属主,其值将由 ics.conf 文件中的 service.admin.calmaster.userid 参数指定。

管理用户日历

创建用户日历后,请使用cscal实用程序执行以下管理任务:

显示日历

要显示所有日历、某个用户拥有的所有日历或特定日历的属性,请使用 cscal 实用程序的 list 命令。

例如,可使用以下命令列出日历数据库中的所有日历:

cscal list

可使用以下命令列出 jsmith 拥有的所有日历:

cscal -o jsmith list

可使用以下命令列出日历 ID 为 jsmith:meetings 的日历的所有属性:

cscal -v list jsmith:meetings

删除日历

要从 Calendar Server 中删除一个或多个日历,请使用 cscal 实用程序的 delete 命令。此实用程序将删除日历,但并不会从 Directory Server 中删除用户。


注意 – 注意 –

delete 命令将从日历数据库中删除所有日历信息,并且不能撤消。删除日历后,只有在已经对日历数据进行了备份的情况下才能恢复它。有关更多信息,请参见第 17 章,备份和恢复 Calendar Server 数据

可以使用 cscal 实用程序删除一个或多个日历。

例如,可使用以下命令删除日历 ID 为 jsmith:meetings 的特定日历:

cscal delete jsmith:meetings

可使用以下命令删除主要属主为 jsmith 的所有日历:

cscal -o jsmith delete

删除已删除的用户的日历

如果您已使用 Calendar Server 实用程序的 csuser delete 命令,或者 Delegated Administrator 控制台或实用程序删除了一个或多个用户,那些用户所拥有的日历将可能仍存在于数据库中。

可以用两种方法来删除用户的日历。要使用的方法取决于删除用户所使用的工具:

csuser

csuser 实用程序用于删除 LDAP 目录下的用户及该用户的默认日历,但不会删除该用户可能拥有的其他任何日历。有关如何使用 cscal 来删除这些日历的说明,请参见删除使用 csuser 删除的用户的所有日历

Delegated Administrator

Delegated Administrator 不会删除任何日历。使用 Delegated Administrator 将用户标记为已删除,然后使用 Calendar Server 实用程序 csclean 删除标记为已删除的用户的所有日历。

有关如何使用 csclean 来删除已删除的用户的日历的说明,请参见删除使用 Delegated Administrator 删除的用户的所有日历

有关使用 Delegated Administrator 实用程序的说明,请参见《Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide》

有关使用 Delegated Administrator 控制台的说明,请参见联机帮助。

Procedure删除使用 csuser 删除的用户的所有日历

步骤
  1. 运行 cscal list 来查找已删除的属主 uid 的所有日历。

    cscal -o owner list

  2. 使用 cscal 来删除此属主的所有日历。

    cscal -o owner delete

  3. 通过再次运行 csuser list 来验证是否已删除所有日历。


    注 –

    如果您已使用 commadmin 将用户标记为已删除,并且该用户的 LDAP 条目已被清除,则使用此过程。


Procedure删除使用 Delegated Administrator 删除的用户的所有日历

Delegated Administrator 不会删除日历。此 csclean 实用程序用于删除已使用 Delegated Administrator 标记为已删除的任何用户的所有日历。

步骤
  1. csclean 用于删除标记为已删除但尚未被清除的用户的所有日历。

    例如,要删除最近 10 天 sesta.com 域中标记为已删除的用户的所有日历,则应执行如下命令:

    csclean -g 10 clean sesta.com
  2. 如果用户已从 LDAP 中清除,那么您必须使用 cscal。

    有关说明,请参见删除使用 csuser 删除的用户的所有日历

启用日历

要启用日历以允许用户访问该日历,请使用 cscal 实用程序的 enable 命令。

例如,可使用以下命令来使用默认配置设置启用日历 jsmith:meetings

cscal enable jsmith:meetings

可使用以下命令启用日历 jsmith:meetings,但不允许双重预订:

cscal -k no enable jsmith:meetings

禁用日历

要禁止用户访问日历,请使用 cscal 实用程序的 disable 命令。disable 命令将禁止用户访问日历,但并不会从日历数据库中删除信息。

例如,可使用以下命令禁止用户访问 jsmith:meetings

cscal disable jsmith:meetings

修改日历属性

要修改日历属性,请使用 cscal 实用程序的 modify 命令。

例如,可使用以下命令更改 AllAdmins 的组计划访问控制设置,并指定 RJones 作为另一个属主:

cscal -a "@@o^c^wd^g" -y RJones modify AllAdmins

其中:

从日历中删除属性

要从日历中删除属性值,请使用 cscal 实用程序的 modify 命令,并用两个双引号 ("") 指定选项的值。

例如,可使用以下命令从 jsmith:meetings 中删除说明:

cscal -d "" modify jsmith:meetings

可使用以下命令从 jsmith:meetings 中删除所有类别:

cscal -g "" modify jsmith:meetings

可使用以下命令从 jsmith:meetings 中删除“其他属主”:

cscal -y "" modify jsmith:meetings

恢复“丢失的”默认日历

如果用户的默认日历未出现在 Communications Express“当前日历”下拉式列表中,但仍存在于数据库中,则可以通过更新用户 LDAP 条目中的以下属性来恢复该日历:

其中,default_calid 为用户的默认日历 ID (calid)。

对于 Schema 2,使用以下方法之一更新属性:

对于 Schema 1,使用 csattribute add 命令更新属性。

Procedure将用户日历移至不同的后端服务器

要将用户日历从一个后端服务器移至其他后端服务器,请执行以下操作:

步骤
  1. 在原始服务器上,使用csuser实用程序禁用日历用户。例如,禁用用户 ID 和 calidbkamdar 的用户:


    csuser disable bkamdar
  2. 在原始服务器上,使用csexport实用程序将用户的每个日历从日历数据库导出到某个文件中。例如:


    csexport -c bkamdar calendar bkamdar.ics
  3. 将导出的日历文件 (*.ics) 从原始服务器复制到新服务器上。

  4. 在新服务器上,针对已导出的每个日历,使用csimport实用程序将日历从此文件导入到日历数据库中。例如:


    csimport -c bkamdar calendar bkamdar.ics
  5. 在 LDAP Directory Server 上,使用csattribute实用程序更新日历属主的 icsDWPHost LDAP 属性,以指向新的后端服务器。要更新属性,必须先删除该属性,然后再添加它并为其指定新值。例如,要将新服务器名设置为 sesta.com


    csattribute -a icsDWPHost delete bkamdar
     csattribute -a icsDWPHost=sesta.com add bkamdar
  6. 在新服务器上,使用csuser实用程序启用用户日历的日历用户。例如:


    csuser enable bkamdar
  7. 在新服务器上,使用以下命令验证这些属性是否正确以及是否已正确移动了每个日历。例如:


    cscal -v -o bkamdar list bkamdar
     ...
     csattribute -v list bkamdar
  8. 在原始服务器上,删除刚刚移动的每个日历。例如:


    cscal -o bkamdar delete bkamdar

    -o 选项将删除主要属主为 bkamdar 的所有日历。


    注 –

    如果您要在将日历移至不同的后端服务器之后使用 CLD 高速缓存选项,则应清除 CLD 高速缓存以删除该服务器名称。CLD 高速缓存中的过期条目可以阻止前端服务器在日历被移动后查找此日历。要清除 CLD 高速缓存,请执行以下操作:

    • 停止 Calendar Server。

    • 删除 /var/opt/SUNWics5/csdb/cld_cache 目录中的所有文件,但不要删除 cld_cache 目录本身。

    • 重新启动 Calendar Server。


管理资源日历

创建了资源日历后,使用 csresource 实用程序来对其进行管理。以下是管理资源日历所需的过程:

显示资源日历及其属性

要显示资源日历,请使用 csresource 实用程序的 list 命令。

例如,可使用以下命令显示所有 Calendar Server 资源日历及其对应的 LDAP 属性的列表:

csresource list

可使用以下命令显示名为 Auditorium 的特定资源日历的所有 LDAP 属性的列表:

csresource -v list Auditorium

修改资源日历

要修改资源日历,请使用cscal实用程序的 modify 命令(csresource 没有 modify 命令)。

例如,可使用以下命令为名为 Auditorium 的资源日历设置一个名为 tchang 的属主并为其添加另一个名为 mwong 的属主:

cscal -o tchang -y mwong modify aud100

在本例中,cscal 实用程序需要 calid (aud100),而不是日历名称 (Auditorium)。

禁用或启用资源日历

您可能希望禁用资源日历,以防止用户预定事件。例如,会议室可能因为装修而无法使用,或顶置光源投影仪已送修。

要禁用或启用资源日历,请使用 csresource 实用程序的 enabledisable 命令。

例如,可使用以下命令禁用名为 Auditorium 的资源日历:

csresource disable Auditorium

然后,可使用以下命令启用资源日历:

csresource enable Auditorium

删除资源日历

要删除资源日历,请使用 csresource 实用程序的 delete 命令。

例如,可使用以下命令删除名为 Auditorium 的资源日历:

csresource delete Auditorium

Calendar Server 将显示以下消息:

Do you really want to delete this resource (y/n)?

输入 "y" 删除日历或输入 "n" 取消操作。

如果输入 "y",Calendar Server 将删除日历并显示一条表明日历已被删除的消息。

Procedure将资源日历移至不同的后端服务器

要将用户或资源日历从一个后端服务器移至其他后端服务器,请执行以下操作:

步骤
  1. 在原始服务器上,使用csresource实用程序禁用日历资源。例如,禁用具有公用名称 Auditorium 的资源:


    csresource disable Auditorium
  2. 在原始服务器上,使用csexport实用程序将资源的每个日历从日历数据库导出到某个文件中。例如:


    csexport -c aud100 calendar aud100.ics
  3. 将导出的日历文件 (*.ics) 从原始服务器复制到新服务器上。

  4. 在新服务器上,针对已导出的每个日历,使用csimport实用程序将此文件中的这些日历导入到日历数据库中。例如:


    csimport -c bkamdar calendar bkamdar.ics
  5. 在 LDAP Directory Server 上,使用csattribute实用程序更新日历属主的 icsDWPHost LDAP 属性,以指向新的后端服务器。要更新属性,必须先删除该属性,然后再添加它并为其指定新值。例如,要将新服务器名设置为 sesta.com


    csattribute -a icsDWPHost delete bkamdar
     csattribute -a icsDWPHost=sesta.com add bkamdar
  6. 在新服务器上,使用csresource实用程序启用日历资源。例如:


    csresource enable bkamdar
  7. 在新服务器上,使用以下命令验证这些属性是否正确以及是否已正确移动了每个日历。例如:


    cscal -v -o bkamdar list bkamdar
     csattribute -v list bkamdar
  8. 在原始服务器上,删除刚刚移动的每个日历。例如:


    cscal -o bkamdar delete bkamdar

    -o 选项将删除主要属主为 bkamdar 的所有日历。


    注 –

    如果您要使用 CLD 高速缓存选项并且已将日历移至不同的后端服务器,则应清除 CLD 高速缓存以删除该服务器名称。CLD 高速缓存中的过期条目可以阻止前端服务器在日历被移动后查找此日历。要清除 CLD 高速缓存,请执行以下操作:

    • 停止 Calendar Server。

    • 删除 /var/opt/SUNWics5/csdb/cld_cache 目录中的所有文件,但不要删除 cld_cache 目录本身。

    • 重新启动 Calendar Server。


创建日历链接

可以创建一个或多个用户日历或资源日历的链接,只要每个日历设置了允许读取访问的权限。例如,可以在 Web 页或电子邮件消息中嵌入日历链接。然后,其他用户就可以匿名查看该日历而无需登录 Calendar Server。

可使用以下语法创建一个或多个用户日历的链接:

http://CommunicationsExpresshostname:
CommunicationsExpressport/uwc/
   ?calid=calid-1[; ... ;calid-n]

对于多个日历,请使用半角分号 (;) 分隔每个日历 ID (calid)。

例如,要链接到 jsmith@sesta.comjdoe@siroe.com 的默认日历,请输入:

http://calendar.sesta.com:8080/?calid=jsmith@sesta;jdoe@siroe.com

要链接 calidoverhead_projector10 的顶置光源投影仪的资源日历,请输入:

http://calendar.sesta.com:8080/uwc/?calid=overhead_projector10

导入和导出日历数据

要将日历数据导出到文件中,或从文件中导入日历数据,请使用 csexportcsimport 实用程序。日历数据可以是 iCalendar (.ics) 或 XML (.xml) 格式。

必须在已安装 Calendar Server 的本地计算机上运行 csexportcsimport。Calendar Server 可以正在运行或已经停止。

导入日历数据

要从以前使用 csexport 实用程序保存的文件中导入日历数据,请使用 csimport。导入文件的文件扩展名(.ics.xml)表明了文件的保存格式。

例如,可使用以下命令从以 iCalendar (text/calendar MIME) 格式保存的文件 jsmith.ics 中将日历数据导入到日历 ID (calid) 为 jsmithcal 的日历中:

csimport -c jsmithcal calendar jsmith.ics

可使用以下命令从以 XML (text/xml MIME) 格式保存的文件 jsmith.xml 中将数据导入到日历 jsmithcal 中:

csimport -c jsmithcal calendar jsmith.xml

导出日历数据

要将日历数据导出到文件中,请使用 csexport。为输出文件指定的文件扩展名(.ics.xml)决定了使用的格式。

例如,可使用以下命令以 iCalendar (text/calendar MIME) 格式将日历 ID (calid) 为 jsmithcal 的日历导出到名为 jsmith.ics 的文件中:

csexport -c jsmithcal calendar jsmith.ics

可使用以下命令以 XML (text/xml MIME) 格式将日历 jsmithcal 导出到名为 jsmith.xml 的文件中:

csexport -c jsmithcal calendar jsmith.xml