5 Garoon 的维护 以在以下环境中安装了 Garoon 为例, 说明备份 还原以及将 Garoon 移植到其他服务器的方法 安装标识符 :cbgrn 安装目录 Windows 环境 : C:\Program Files\Cybozu C: \Inetpub\scripts Linux 环境 : /usr/local/cybozu/ /var/www/cgi-bin 5. 备份和还原 Garoon 的数据备份以及还原由 Windows 环境中持有 Administrator 的用户和 Linux 环境中的 root 用户进行 备份数据将保存到 Garoon 不使用的目录中 如将备份数据保存到 Garoon 所使用的目录中, 升级或安装 Service Pack 时, 有可能造成数据丢失 请勿将备份数据保存到以下目录中 Windows 环境 : C:\Program Files\cybozu 及子目录 C:\Inetpub\scripts\cbgrn 及子目录 Linux 环境 : /usr/local/cybozu 及子目录 /var/www/cgi-bin/cbgrn 及子目录注意 数据备份过程中,Garoon 无法使用 数据备份源和还原位置的 Garoon 的版本需要相同 备份对象的数据 Garoon 中, 备份数据库 (MySQL) 中的以下数据 Windows 环境 : C:\Program Files\Cybozu\mysql-5.0\data C:\Program Files\Cybozu\mysql-5.0\files Linux 环境 : /usr/local/cybozu/mysql-5.0/data /usr/local/cybozu/mysql-5.0/files 数据库的数据 保存在数据目录中的数据 以下数据被保存 mysql: 如同数据库管理用户的密码般 MySQL 运行所必需的数据 298
5. 备份和还原 cb_cbgrn: 用户信息 站内信 日程安排等 Garoon 应用程序的数据 附件 保存在 Files 目录中的数据 保存站内信和及公告栏等中添加的附件 MySQL 的数据和附件的数据是整合的 为避免数据间发生不匹配的问题, 需计划性的进行备份和还原 补充 Garoon 在 MySQL 的 table 中使用 InnoDB 无法使用 mysqlhotcopy 备份方法 MySQL 的数据和附件使用 OS 的命令复制或使用 mysqldump 备份 附件使用 OS 的命令备份 使用 OS 的命令时, 需停止 MySQL 与 Garoon 的调度服务 为了能安全地进行数据备份, 请确认已停止 Garoon 的所有进程 若监视各服务和进程时, 建议在操作完成前将 Garoon 从监视对象中去除 进程的确认确认 Garoon 进程的方法如下 Windows 环境 :. 打开任务管理器 2. 点击 Windows 任务管理器中的 进程 标签 3. 确认进程中未显示 sched.exe 和 mysqld.exe Linux 环境 : 输入以下指令, 确认进程列表中未显示调度服务和 MySQL ps -aux grep cyss ps -aux grep mysql 补充 使用 OS 的命令可以短时间完成数据备份 有以下方法 使用存储软件只备份数据的差异部分 使用快照功能 mysqldump 与 MySQL 同时安装 由 mysqldump 取得的数据将删除数据库的未使用空间 还原数据后, 磁盘使用量有可能较还原之前减少 所谓调度服务? 调度服务是指, 在设置的时间执行规定的处理的服务 根据 sched.ini 文件中设置的时间, 自动删除 Garoon 中不需要的文件 获取天气预报等操作 附录 C 调度服务的功能 第 365 页 调度服务根据设置方法的不同应用的时区也有所不同 299
在页面中设置开始时间时 : 设置的用户的时区例 : 用户数据的删除时间的设置 在设置文件中设置开始时间时 : 正执行调度服务的服务器的系统日期中正在使用的日期例 : 来自 cybozu 的通知 的收信时间的设置 如停止调度服务, 将不执行预定的任务 存在于 0 点 00 分开始的执行调度服务的任务 如因为备份数据或应用补丁等原因, 需要在 0 点 00 分左右停止调度服务, 则必须更改在相同时间内执行的任务的开始时间 需要更改的文件和内容如下所示 更改的文件 (CGI 可执行目录 )/( 安装标识符 )/sched.ini 例 : Windows 环境 :C:\Inetpub\scripts\cbgrn\sched.ini Linux 环境 :/var/www/cgi-bin/cbgrn/sched.ini 更改内容 在 [daily] 下的 minute=0 和 hour=0 中记述执行调度服务的时间 ( 分和时刻 ) 更改为 23:00 的范例 : [daily] minute=0 hour=23 注意 需要在停止 Cybozu 数据库引擎之前停止调度服务 需要在启动 Cybozu 数据库引擎之后启动调度服务 调度服务与 Cybozu 数据库引擎由以下的用户启动以及停止 Windows 环境 : 拥有 Windows 的 Administrator 权限的用户 Linux 环境 : 超级权限用户 5.. 使用 OS 的命令备份 使用 OS 的命令, 复制备份对象的目录 Windows 环境 创建备份用的目录, 备份数据 目录范例 : C:\backup\YYYYMMDD 停止 Web 服务器 300
5. 备份和还原 2 按照调度服务 Cybozu 数据库引擎的顺序停止 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 停止以下的服务 Cybozu_Scheduling_Service_cbgrn Cybozu_Database_Engine_5_0 3 启动命令提示符 4 在 current directory 下创建备份目标目录 mkdir C:\backup\YYYYMMDD 5 将 data 目录与 files 目录复制到步骤 3 创建的目录 xcopy "C:\Program Files\Cybozu\mysql-5.0\data" C:\backup\YYYYMMDD\data /e /i xcopy "C:\Program Files\Cybozu\mysql-5.0\files" C:\backup\YYYYMMDD\files /e /i 复制到现有目录时, 显示询问是否覆盖数据的消息 覆盖的话输入 Yes 或者 All, 停止的话输入 No 6 按照数据库引擎 调度服务的顺序启动 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 启动以下的服务 Cybozu_Database_Engine_5_0 Cybozu_Scheduling_Service_cbgrn 7 启动 Web 服务器 8 确认是否能够正常访问 Garoon Linux 环境中的备份 创建备份用的目录, 备份数据 目录范例 : /backup/yyyymmdd 启动命令行的输入页面 2 停止 Web 服务器 /etc/init.d/httpd stop 3 按照调度服务 数据库引擎的顺序停止 /etc/rc.d/init.d/cyss_cbgrn stop /etc/rc.d/init.d/cyde_5_0 stop 30
4 创建备份目标目录 mkdir -p /backup/yyyymmdd 5 将 data 目录与 files 目录复制到步骤 3 创建的目录 cp -rp /usr/local/cybozu/mysql-5.0/data /backup/yyyymmdd/ cp -rp /usr/local/cybozu/mysql-5.0/files /backup/yyyymmdd/ 6 按照数据库引擎 调度服务的顺序启动 /etc/init.d/cyde_5_0 start /etc//init.d/cyss_cbgrn start 7 启动 Web 服务器 /etc/init.d/httpd start 8 确认是否能够正常访问 Garoon 5..2 使用 OS 的命令还原 使用 OS 的命令, 还原复制的数据 请在无用户访问 Garoon 的时间段进行数据的还原 Windows 环境中的还原 还原备份用目录中保存的数据 目录范例 : C:\backup\YYYYMMDD 停止 Web 服务器 2 按照调度服务 数据库引擎的顺序停止 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 停止以下的服务 Cybozu_Scheduling_Service_cbgrn Cybozu_Database_Engine_5_0<br2/> 3 启动命令提示符 4 删除现有的数据库区域与附件区域 rmdir /s /q "C:\Program Files\Cybozu\mysql-5.0\data" rmdir /q /q "C:\Program Files\Cybozu\mysql-5.0\files" 302
5. 备份和还原 5 复制已备份的数据到原本目录 xcopy C:\backup\YYYYMMDD\data "C:\Program Files\Cybozu\mysql-5.0\data" /e /i xcopy C:\backup\YYYYMMDD\files "C:\Program Files\Cybozu\mysql-5.0\files" /e /i 6 按照数据库引擎 调度服务的顺序启动 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 启动以下的服务 Cybozu_Database_Engine_5_0 Cybozu_Scheduling_Service_cbgrn 7 启动 Web 服务器 8 确认是否能够正常访问 Garoon Linux 环境中的还原 还原备份用目录中保存的数据 目录范例 : /backup/yyyymmdd 停止 Web 服务器 /etc/init.d/httpd stop 2 按照调度服务 数据库引擎的顺序停止 /etc/rc.d/init.d/cyss_cbgrn stop /etc/rc.d/init.d/cyde_5_0 stop 3 删除现有的数据库区域与附件区域 rm -rf /usr/local/cybozu/mysql-5.0/data rm -rf /usr/local/cybozu/mysql-5.0/files 4 复制已备份的数据到原本目录 cp -rp /backup/yyyymmdd/data /usr/local/cybozu/mysql-5.0/ cp -rp /backup/yyyymmdd/files /usr/local/cybozu/mysql-5.0/ 5 按照数据库引擎 调度服务的顺序启动 /etc/init.d/cyde_5_0 start /etc/init.d/cyss_cbgrn start 6 启动 Web 服务器 /etc/init.d/httpd start 303
7 确认是否能够正常访问 Garoon 补充 还原后因目录权限的变化, 数据库引擎有可能不启动 这种情况下, 使用 chown 命令给 MySQL 的数据区域 ( 数据库区域和附件文件区域 ) 设置 CGI 执行用户 ( 例 :apache) 的读写权限 给 data 目录和 files 目录设置版本和所有人情况下的范例如下所示 chmod R 755 data chmod R 700 files chmod R apache:root data files 5..3 使用 mysqldump 备份 备份在无用户访问 Garoon 的时间段进行 mysqldump 在备份模式下执行 关于备份模式, 请浏览以下页面 备份模式的设置 第 304 页 mysqldump 的速度 mysqldump 备份与还原的时间与数据量成比例增加 还原比备份花费时间 使用 mysqldump 的还原比使用 OS 命令的还原花费时间 还原后的磁盘使用量 使用 mysqldump 还原后, 磁盘使用量有可能较备份之前减少 因为已备份数据中不包含未使用空间 并非数据丢失 备份模式的设置 由于 MySQL 的数据与附件备份方法不同, 有可能会发生数据的不匹配 为保持数据的一致性, 备份执行过程中, 需要禁止数据库的更新 将 Garoon 设置为备份模式后, 可以将数据库设置为禁止更新 初始设置中, 被设置为不使用备份模式的功能 更改设置文件 (common.ini) 的内容后, 便可使用备份模式的功能 要更改的文件和内容如下所示 更改的文件 (CGI 可执行目录 )/( 安装标识符 )/common.ini 例 : Windows 环境 : C:\Inetpub\scripts\cbgrn\common.ini Linux 环境 : /var/www/cgi-bin/cbgrn/common.ini 更改的内容 将 [BackupMode] 下的 disable = "" 行如下删除 304
5. 备份和还原 删除前 : 删除后 : [BackupMode] disable = "" driver = xxxxx [BackupMode] driver = xxxxx 补充 在命令行设置或者解除备份模式 备份模式可用的情况下, 用户不能使用 Garoon 将备份模式设置为不可用时, 文件的内容会还原 Windows 环境 创建备份用的目录, 备份数据 目录范例 : C:\backup\YYYYMMDD 补充 为了能够使用备份模式, 在操作之前更改 Garoon 的设置 备份模式的设置 第 304 页 启动命令提示符 2 创建备份目标目录 mkdir C:\backup\YYYYMMDD 3 停止调度服务 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 停止以下的服务 Cybozu_Scheduling_Service_cbgrn 4 将 Garoon 设置为备份模式 cd C:\Inetpub\scripts\cbgrn grn_command.exe -f.\code\command\backupmode_start.csp 5 数据库管理用户执行 mysqldump "C:\Program Files\Cybozu\mysql-5.0\bin\mysqldump" --defaults-file="c:\program Files\Cybozu\mysql-5.0\etc\my.ini" --all-databases --single-transaction -u cbroot p > C:\backup\YYYYMMDD\full.sql 6 输入数据库管理用户的密码 7 备份附件 xcopy "C:\Program Files\Cybozu\mysql-5.0\files" C:\backup\YYYYMMDD\files /e /i 305
8 解除备份模式 cd C:\Inetpub\scripts\cbgrn grn_command.exe -f.\code\command\backupmode_end.csp 9 启动调度服务 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 启动以下的服务 Cybozu_Scheduling_Service_cbgrn 0 确认是否能够正常访问 Garoon Linux 环境 创建备份用的目录, 备份数据 目录范例 : 例 :/backup/yyyymmdd 补充 为了能够使用备份模式, 在操作之前更改 Garoon 的设置 备份模式的设置 第 304 页 创建备份目标目录 mkdir -p /backup/yyyymmdd 2 停止调度服务 /etc/init.d/cyss_cbgrn stop 3 将 Garoon 设置为备份模式 cd /var/www/cgi-bin/cbgrn./grn_command -f./code/command/backupmode_start.csp 4 数据库管理用户执行 mysqldump /usr/local/cybozu/mysql-5.0/bin/mysqldump --defaults-file=/usr/local/cybozu/mysql-5.0/etc/my.ini --all-databases --single-transaction -u cbroot -p > /backup/yyyymmdd/full.sql 5 输入数据库管理用户的密码 6 备份附件 cp -rp /usr/local/cybozu/mysql-5.0/files /backup/yyyymmdd/ 7 解除备份模式 cd /var/www/cgi-bin/cbgrn 306
5. 备份和还原./grn_command -f./code/command/backupmode_end.csp 8 启动调度服务 /etc/init.d/cyss_cbgrn start 9 确认是否能够正常访问 Garoon 5..4 使用 mysqldump 还原 使用 mysqldump 还原已备份数据与附件 请在无用户访问 Garoon 的时间段进行还原 MySQL 数据损坏时的处理 磁盘损坏与系统障碍等可能会造成 mysql 表格丢失 由于 mysql 表格损坏造成 dump 数据无法导入时, 按照以下的次序还原数据 新安装 Garoon 2 使用 OS 的命令备份步骤 安装的 Garoon 的数据 5.. 使用 OS 的命令备份 第 300 页 3 使用 OS 命令还原步骤 2 备份的数据 5..2 使用 OS 的命令还原 第 302 页 4 使用 mysqldump 还原 dump 数据 5..4 使用 mysqldump 还原 第 307 页 Windows 环境 还原备份用目录中保存的数据 目录范例 : C:\backup\YYYYMMDD 启动命令提示符 2 停止调度服务 从 Windows 的开始菜, 点击 [ 管理工具 ] > [ 服务 ], 停止以下的服务 Cybozu_Scheduling_Service_cbgrn 307
3 将 Garoon 设置为备份模式 cd C:\Inetpub\scripts\cbgrn grn_command.exe -f.\code\command\backupmode_start.csp 4 数据库管理用户导入已备份数据 "C:\Program Files\Cybozu\mysql-5.0\bin\mysql" --defaults-file="c:\program Files\Cybozu\mysql-5.0\etc\my.ini" -u cbroot -p < C:\backup\YYYYMMDD\full.sql 5 输入数据库管理用户的密码 6 删除现有的附件区域 rmdir /s /q "C:\Program Files\Cybozu\mysql-5.0\files" 7 还原附件 xcopy C:\backup\YYYYMMDD\files "C:\Program Files\Cybozu\mysql-5.0\files" /e /i 8 解除备份模式 cd C:\Inetpub\scripts\cbgrn grn_command.exe -f.\code\command\backupmode_end.csp 9 启动调度服务 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 启动以下的服务 Cybozu_Scheduling_Service_cbgrn 0 确认是否能够正常访问 Garoon Linux 环境 还原备份用目录中保存的数据 目录范例 : /backup/yyyymmdd 停止调度服务 /etc/init.d/cyss_cbgrn stop 2 将 Garoon 设置为备份模式 cd /var/www/cgi-bin/cbgrn./grn_command -f./code/command/backupmode_start.csp 3 数据库管理用户导入已备份数据 /usr/local/cybozu/mysql-5.0/bin/mysql --defaults-file=/usr/local/cybozu/mysql-5.0/etc/my.ini -u cbroot -p < 308
5. 备份和还原 /backup/yyyymmdd/full.sql 4 输入数据库管理用户的密码 5 删除现有的附件区域 rm -rf /usr/local/cybozu/mysql-5.0/files 6 还原附件 cp -rp /backup/yyyymmdd/files /usr/local/cybozu/mysql-5.0/ 7 解除备份模式 cd /var/www/cgi-bin/cbgrn./grn_command -f./code/command/backupmode_end.csp 8 启动调度服务 /etc/init.d/cyss_cbgrn start 9 确认是否能够正常访问 Garoon 补充 还原后因目录权限的变化, 数据库引擎有可能不启动 这种情况下, 使用 chown 命令给 MySQL 的数据区域设置 CGI 执行用户 ( 例 :apache) 的读写权限 309
5.2 Garoon 在服务器间的移植 将 Garoon 移植到其它服务器 Windows 环境下, 操作由拥有 Windows 的 Administrator 权限的用户执行 Linux 环境下, 操作由 root 用户执行 Garoon 的移植源与移植位置的服务器中, 以下的信息需要相同 Garoon 的版本 安装标识符 数据库连接用户的密码 补充 安装标识符可在 common.ini 文件的 Global 部分的 app_name 中确认 5.2. 在 32bitOS 或 64bitOS 间移植 在 32bit OS 或 64bit OS 的服务器间移植 Garoon 时, 将 Garoon 的数据复制到移植目标服务器 说明从 Windows 环境移植到 Linux 环境的步骤 备份 Windows 环境中的 Garoon 的数据 5.. 使用 OS 的命令备份 第 300 页 2 在 Linux 环境中安装 Garoon, 初始化 使用与移植源的 Garoon 相同的安装标识符 数据库连接用户密码 Administrator 的密码为任意 操作结束时, 设置移植前设置过的密码 补充 : 初始化时设置的语言与时区为 Garoon 的初始值 3Linux 环境中, 按照调度服务 数据库引擎的顺序停止 /etc/rc.d/init.d/cyss_cbgrn stop /etc/rc.d/init.d/cyde_5_0 stop 4 将 Windows 环境的 Garoon 的数据复制到 Linux 环境 5..2 使用 OS 的命令还原 第 302 页 5 在 Linux 环境下的数据区域中, 设置许可与所有人 chmod -R 755 data chmod -R 700 files chown -R apache:root data files 30
5.2 Garoon 在服务器间的移植 6Linux 环境中, 按照调度服务 数据库引擎的顺序启动 /etc/rc.d/init.d/cyde_5_0 start /etc/rc.d/init.d/cyss_cbgrn start 7 确认在 Linux 环境中能够正常访问 Garoon 5.2.2 将 Garoon 从 32bitOS 移植到 64bitOS 将 Garoon 从 32bitOS 移植到 64bitOS 时, 使用 mysqldump 改写数据文件 从 64bitOS 的服务器移植到 32bitOS 的服务器时也同样 Windows 环境 在移植源的服务器中, 使用 mysqldump 备份 Garoon 的数据 5..3 使用 mysqldump 备份 第 304 页 2 将 Garoon 安装到移植位置的服务器中, 初始化 与移植源使用相同的安装标识符 数据库连接用户密码 Administrator 的密码为任意 操作结束时, 设置移植前设置过的密码 补充 : 初始化时设置的语言与时区为 Garoon 的初始值 3 停止移植位置的服务器的调度服务 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 停止以下的服务 Cybozu_Scheduling_Service_cbgrn 4 启动命令提示符 5 删除现有的附件区域 rmdir /s /q "C:\Program Files\Cybozu\mysql-5.0\files" 6 数据库管理用户将移植源的备份数据导入移植位置 例 : 备份数据为 C:\backup\YYYYMMDD\full.sql 时 "C:\Program Files\Cybozu\mysql-5.0\bin\mysql" --defaults-file="c:\program Files\Cybozu\mysql-5.0\etc\my.ini" -u cbroot -p < C:\backup\YYYYMMDD\full.sql 7 输入数据库管理用户的密码 8 将移植源的服务器的附件复制到移植位置的服务器中 3
例 : 备份数据为 C:\backup\YYYYMMDD\files 时 xcopy C:\backup\YYYYMMDD\files "C:\Program Files\Cybozu\mysql-5.0\files" /e /i 9 按 Enter 键 0 启动移植位置的服务器的调度服务 从 Windows 的开始菜单, 点击 [ 管理工具 ] > [ 服务 ], 启动以下的服务 Cybozu_Scheduling_Service_cbgrn 确认是否能够正常访问 Garoon Linux 环境 在移植源的服务器中, 使用 mysqldump 备份 Garoon 的数据 5..3 使用 mysqldump 备份 第 304 页 2 将 Garoon 安装到移植位置的服务器中, 初始化 使用与移植源的 Garoon 相同的安装标识符 数据库连接用户密码 Administrator 的密码为任意 操作结束时, 设置移植前设置过的密码 补充 : 初始化时设置的语言与时区为 Garoon 的初始值 3 停止移植位置的服务器的调度服务 /etc/rc.d/init.d/cyss_cbgrn stop 4 删除现有的附件区域 rm -rf /usr/local/cybozu/mysql-5.0/files 5 数据库管理用户将移植源的备份数据导入移植位置 例 : 备份数据为 /backup/yyyymmdd/full.sql 时 /usr/local/cybozu/mysql-5.0/bin/mysql --defaults-file=/usr/local/cybozu/mysql-5.0/etc/my.ini -u cbroot -p < /backup/yyyymmdd/full.sql 6 输入数据库管理用户的密码 7 将移植源的服务器的附件复制到移植位置的服务器中 例 : 备份数据为 /backup/yyyymmdd/files 时 cp -rp /backup/yyyymmdd/files /usr/local/cybozu/mysql-5.0/ 32
5.2 Garoon 在服务器间的移植 8 在数据区域中设置许可与所有人 chmod -R 700 files chown -R apache:root data files 9 启动移植位置的服务器的调度服务 /etc/rc.d/init.d/cyss_cbgrn start 0 确认是否能够正常访问 Garoon 33
5.3 重新设置 Administrator 的密码 Garoon 的 Administrator 的密码丢失时, 使用命令行重新设置密码 以在以下环境中安装 Garoon 为例, 说明重新设置密码的步骤 安装标识符 :cbgrn 安装目录 Windows 环境 :C:\Inetpub\scripts Linux 环境 :/var/www/cgi-bin Windows 环境 启动命令提示符 2 移动到 CGI 可执行目录 cd C:\Inetpub\scripts\cbgrn 3 执行 set_admin_password.csp grn_command.exe -f.\code\command\set_admin_password.csp 4 输入 yes, 按 Enter 键 5 输入新密码, 按 Enter 键 6 输入确认用密码, 按 Enter 键 Linux 环境 移动到 CGI 可执行目录 cd /var/www/cgi-bin/cbgrn 2 执行 set_admin_password.csp./grn_command -f./code/command/set_admin_password.csp 3 输入 yes, 按 Enter 键 4 输入新密码, 按 Enter 键 5 输入确认用密码, 按 Enter 键 34