Sun Java System Calendar Server 6.3 管理指南

第 15 章 管理日历

本章介绍多个包含如何使用 Calendar Server 命令行实用程序来创建和管理日历的说明的主题。

本章包含以下主题:

15.1 Calendar Server 版本 6.3 的日历管理概述

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

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

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

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

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

本节包含以下主题:

15.2.1 Calid 语法

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

userid[@domain][:calendar-name]

这三个部分分别为:

userid

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

domain

用户的域的名称。

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

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

有关多域环境的详细信息,参见 第 10 章,设置多域 Calendar Server 6.3 环境 以及 第 13 章,管理 Calendar Server 域

calendar-name

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

15.2.2 日历 ID 创建规则

本节描述创建日历 ID (calid ) 的规则。

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

15.2.3 将非域 calid 转换为多域格式的 calid

如果在您拥有域之前已创建了 calid,而现在又希望将其转换为特定于域的 calid,则可使用实用程序 csvdmig 将域部分添加到现有的 calid 中。有关如何使用此实用程序的说明,请参见3.6 csvdmig

如果未将域名添加到现有的 calid 中,则系统将假定它们属于默认域。

15.3 自动创建日历

本节介绍使用 Calendar Server 功能来在用户首次登录时自动创建日历的概念性信息和说明。

默认情况下,将启用日历的自动创建。启用后,系统会在以下两种情况下自动创建日历:

有关在此类情况下实现日历的自动创建所必需的配置信息,参见为组配置 Calendar Server

本节包含以下主题:

15.3.1 创建 calid

Calendar Server 根据用户 ID 和域名为新的默认日历创建日历 ID (calid)。

例如,John Smith 的用户 ID 为 jsmith,而他的 LDAP 条目驻留在 sesta.com 域中。在他首次登录到 Calendar Server 时,系统会自动创建默认日历,其中 jsmith@sesta.comcalid。John Smith 随后创建的每个日历的 calid 都将使用 jsmith@sesta.com: 作为日历名称的前缀。例如,如果 John Smith 稍后创建一个名为 meetings 的新日历,则新日历的 calidjsmith@sesta.com:meetings

如果事件的参与者列表中列出了不具有默认日历的用户、组或资源,则系统将在事件所有者域的 LDAP 中查找 uid,并将其作为事件所有者。如果没有为所有者分配域,则假定采用默认域。系统通过将域附加到 uid 来构造 calid

如果系统在事件所有者的域中找不到 uid,则它将搜索允许事件所有者搜索的任何其他域。有关详细信息,参见 11.2 在 Calendar Server 6.3 系统中执行交叉域搜索

Procedure启用日历的自动置备

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

  1. 以具有配置权限的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

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

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

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

    参数 

    说明和默认值 

    local.autoprovision

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

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

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

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

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

  8. 保存此文件。

  9. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedure禁用日历的自动置备

  1. 以具有配置权限的管理员身份登录。

  2. 发布 stop-cal 命令停止 Calendar Server 服务。

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

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

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

    参数 

    说明和默认值 

    local.autoprovision

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

  6. 保存此文件。

  7. 重新启动 Calendar Server。

    cal-svr-base/SUNWics5/cal/sbin/start-cal


    注 –

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


15.4 日历访问控制

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

本节包含以下主题:

15.4.1 访问控制的配置参数

下表介绍了 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"

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

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

公用

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

私人

仅日历所有者可以查看事件或任务。

仅时间与日期

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

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

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

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

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

实用程序 

说明 

cscal

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

csresource

使用带有 -a 选项的 csresource 实用程序为资源日历设置 ACL。

commadmin 用户

csuser

对于 Schema 版本 2,使用 Delegated Administrator 控制台或 Delegated Administrator 实用程序 commadmin 来更改创建用户日历时使用的默认 ACL。

对于 Schema 版本 1,使用带有 -a 选项的 csuser 实用程序来更改用户创建日历时所使用的默认 ACL。


注 –

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


15.5 创建日历

本节介绍如何创建日历的概念性信息和说明。

本节包含以下主题:

15.5.1 使用 cscal 实用程序创建用户日历

本节包含以下主题和示例:

以下示例创建与前一个示例类似的日历,但它还将设置特定的访问控制设置以用于组计划:

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

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

15.5.1.1 新建日历概述

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

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

15.5.1.2 新建日历

要新建日历,至少要使用以下命令:

cscal -o uid  create calid

例如,对于唯一 ID 和日历 ID 为 jsmith 的用户 John Smith,命令将如下所示:

cscal -o jsmith create jsmith

命令具有以下部分:

cscal

实用程序的名称。

-o

该日历的主要所有者的唯一 ID (uid)。

create

用于新建日历的命令。

calid

将分配给该日历的日历 ID。

有关 cscal 实用程序的详细信息,参见 D.5 cscal(它也在本指南中)。


提示 –

默认访问控制设置由 ics.conf 文件中的 calstore.calendar.default.acl 定义。


15.5.1.3 为用户创建另一个日历

可为任意用户创建多个日历。但是,始终会将它们标识为默认日历的子日历。在新日历的全限定名称中,冒号分隔符的左边是默认日历的名称,右边则为新日历的名称。

以下示例演示了如何为用户 John Smith 创建另一个(非默认)日历,新日历的名称为 Personal

cscal -o jsmith@sesta.com create Personal

命令的组成部分如下:

cscal

实用程序的名称。

-o jsmith@sesta.com

该日历的主要所有者的唯一 ID (uid)。

create

用于新建日历的命令。

Personal

要分配给该日历的日历 ID (calid) 的后半部分。

全限定日历 ID 为 jsmith@sesta.com:Personal

15.5.1.4 使用可见名称来创建日历

本示例显示如何为在前一示例中创建的 Personal 非默认日历创建一个单独的可见名称 "Hobbies"。

cscal -o jsmith@sesta.com -n Hobbies create Personal

-o

jsmith@sesta.com 指定主要所有者的用户 ID。

-n

Hobbies 指定日历的可见名称。

Personal

John Smith 的该新附加日历的名称。

整个 calid 变为:jsmith@sesta.com: Personal

15.5.1.5 使用其他属性来创建日历

以下示例通过与前一示例类似的步骤来新建日历 Personal,但它还会将日历与名为 sports 的类别关联起来,启用重复预订,并将 Ron Jones 指定为另一个所有者:

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

命令具有以下部分:

cscal

实用程序的名称。

-o jamsith@sesta.com

该日历的主要所有者的唯一 ID (uid)。

-g sports

该选项会将日历 Personal 与名为 sports 的类别关联起来。

-y

rjones@sestas.com 指定了日历的另一个所有者。

-k yes|no

此选项会在一段时间内启用或禁用事件的重复预订。

值为 yes 会启用重复预订。值为 no 会禁用重复预订。

create

用于新建日历的命令。

Personal

将分配给该日历的日历 ID。

15.5.2 为资源配置 Calendar Server

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

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

resource.default.acl

默认访问控制列表。

resource.allow.doublebook

允许或禁止重复预订的参数。

要更改这些参数(如 表 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 选项。

resource.invite.autoprovision

默认值为 "yes"

resource.invite.autoaccept

默认值为 "yes"

15.5.3 创建资源和资源日历


提示 –

如果 ics.conf 参数 resource.invite.autoprovision 的值为 "yes",则会在首次邀请时创建资源日历。也就是说,如果该资源尚没有默认日历,则在邀请中首次对其进行预定时,会创建资源日历。


要创建资源,使用以下方法之一:

Calendar Server 实用程序(Schema 版本 1)

使用 csresource create

此实用程序创建了资源的 LDAP 条目和默认日历。

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

例如,可以使用以下命令创建日历 ID 为 aud100、可见名称为 Auditorium 且具有默认设置的资源 LDAP 条目和日历:

csresource -m aud100@siroe.com -c aud100 create Auditorium

Delegated Administrator 实用程序和 Calendar Server 实用程序

使用两个命令的组合:

  • Delegated Administrator 实用程序命令 commadmin resource create,用于创建 LDAP 条目。

  • Calendar Server 实用程序命令 csresource create,用于创建默认日历。

Delegated Administrator 控制台

要使用控制台创建 LDAP 资源,请从“组织列表”选择此资源将驻留的组织。从此组织的“日历资源”页,单击“新建”以显示“新建日历资源向导”。

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

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

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

15.5.4 允许重复预订资源日历

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

以下命令创建资源 LDAP 条目和日历,但 -k 选项允许对日历进行重复预订,-o 选项指定 bkamdar 作为日历的所有者,而 -y 选项指定 jsmith@sesta.com 作为另一个所有者:

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

15.5.5 限制对资源日历的访问

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

如果不为资源日历指定所有者,则其值将由 ics.conf 文件中的 service.siteadmin.userid 参数指定。

15.6 管理用户日历

本节介绍如何使用 Calendar Server 实用程序 D.5 cscal 来管理用户日历的说明。

本节包含以下管理任务:

15.6.1 显示日历

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

以下示例演示了使用 cscal 的三个不同任务。

15.6.2 删除日历

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

以下两个示例演示了可利用 cscal delete 完成的不同任务:


注意 – 注意 –

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


15.6.3 删除已删除的用户的日历

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

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

Calendar Server 实用程序 csuser

csuser 实用程序用于删除 LDAP 目录下的用户以及该用户的默认日历,但不会删除该用户可能拥有的其他任何日历。有关如何使用 cscal 来删除这些日历的说明,参见在 Calendar Server 版本 6.3 中删除使用 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在 Calendar Server 版本 6.3 中删除使用 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

    有关说明,参见在 Calendar Server 版本 6.3 中删除使用 csuser 删除的用户的所有日历

15.6.4 启用日历

要允许用户访问其日历,必须首先使用 cscal enable 命令来启用日历。

以下示例演示了如何启用日历:

15.6.5 禁用日历

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

例如,要防止用户访问 jsmith@sesta.com:meetings ,使用以下命令:

cscal disable jsmith@sesta.com:meetings

15.6.6 修改日历属性

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

例如,可使用以下命令来更改 AllAdmins 的组预定访问控制设置并将 RJones@sesta.com 指定为另一个所有者:

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

以下内容介绍了上面的示例中所使用的两个命令变量:

15.6.7 从日历中删除属性

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

以下三个示例显示如何删除不同的属性:

15.6.8 恢复“丢失的”默认日历

如果用户的默认日历对于 Communications Express 用户界面客户端不可见但仍存在于数据库中,则可通过更新用户的 LDAP 条目中的两个属性来恢复日历并使其再次可见。

要恢复日历,确保用户的 LDAP 条目中的以下属性的值为用户的全限定 calid

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

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

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

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

  1. 在原始服务器上,使用 D.19 csuser 实用程序禁用日历用户。例如,可使用以下命令禁用用户 ID 和 calidbkamdar 的用户:

    csuser disable bkamdar

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

    csexport -c bkamdar calendar bkamdar.ics

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

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

    csimport -c bkamdar calendar bkamdar.ics

  5. 在 LDAP 目录服务器上,使用 D.3 csattribute 实用程序更新日历所有者的 icsDWPHost LDAP 属性,以指向新的后端服务器。要更新属性,必须先删除该属性,然后再添加它并为其指定新值。例如,要将新服务器名设置为 sesta.com


    csattribute -a icsDWPHost delete bkamdar
     csattribute -a icsDWPHost=sesta.com add bkamdar
  6. 在新服务器上,使用 D.19 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。


15.7 管理资源日历

本节描述了如何使用 csresource 实用程序来管理资源日历。

以下是管理资源日历所需的过程:

15.7.1 显示资源日历及其属性

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

例如,使用实用程序执行以下任务:

15.7.2 修改资源日历

本节描述了如何修改资源日历。必须使用 D.5 cscal 实用程序命令,因为 csresource 实用程序没有 modify 命令。

例如,以下命令同时执行两项任务:

cscal - o tchang -y mwong modify aud100

在本示例中,cscal 实用程序要求指定资源的 calid (aud100) 而不是日历名称 (Auditorium)。

15.7.3 禁用或启用资源日历

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

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

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

csresource disable Auditorium

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

csresource enable Auditorium

15.7.4 删除资源日历

要删除资源日历,使用 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. 在原始服务器上,使用D.15 csresource实用程序禁用日历资源。例如,禁用具有公用名称 Auditorium 的资源:

    csresource disable Auditorium

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

    csexport -c aud100 calendar aud100.ics

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

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

    csimport -c bkamdar calendar bkamdar.ics

  5. 在 LDAP 目录服务器上,使用 D.3 csattribute 实用程序更新日历所有者的 icsDWPHost LDAP 属性,以指向新的后端服务器。要更新属性,必须先删除该属性,然后再添加它并为其指定新值。例如,可使用以下命令将新服务器名设置为 sesta.com

    csattribute -a icsDWPHost delete bkamdar csattribute -a icsDWPHost=sesta.com add bkamdar

  6. 在新服务器上,使用 D.15 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。


15.8 创建日历链接

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

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

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

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

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

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

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

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

15.9 导入和导出 Calendar Server 6.3 数据库中的日历数据

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

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

15.9.1 导入日历数据

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

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

csimport -c jsmithcal@sesta.com calendar jsmith.ics

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

csimport -c jsmithcal@sesta.com calendar jsmith.xml

15.9.2 导出日历数据

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

以下示例显示了如何使用导出实用程序: