Linux操作系统下双启动环境的陷阱问题(下)

文章作者 100test 发表时间 2007:03:14 16:34:12
来源 100Test.Com百考试题网


幸运的是,有一个解决方案不但可以消除 ssh-agent 和 ssh-add 的局限,而且可以让我们使用 cron 来自动进行各种需要对其他机器进行安全地无密码访问的过程。在他 2001 年发表的三篇 developerWorks 系列文章中,即 OpenSSH key management(参阅参考资料以获得链接),Daniel Robbins 介绍了一个名为 keychain 的 shell 脚本,它是 ssh-add 和 ssh-agent 的一个前端,简化了整个无密码的过程。随着时间的过去,keychain 脚本已经经历了很多改进,现在由 Aron Griffis 维护,其最新的 2.3.2-1 发布版本公布于 2004 年 6 月 17 日。

keychain shell 脚本太长以致于无法在本文中列出,因为精心编写的脚本中包括了很多错误检测、丰富的文档以及非常多的跨平台代码。不过,keychain 可以自项目的 Web 站点上方便地下载得到(参阅 参考资料 以获得链接)。

下载并安装了 keychain 后,使用它就很简单了。只需要登录到每台机器并将下面两行添加到每个 .bash_profile 文件:

  keychain id_dsa   . ~/.keychain/$HOSTNAME-sh

在您第一次重新登录到每台机器时,keychain 将向您询问口令。不过,除非机器被重新启动,否则,以后再登录时,keychain 将不会再要求您重新输入口令。最好的是,cron 任务现在可以使用 OpenSSH 命令来安全地访问远程的机器,而不需要交互地使用口令。更好的安全和更容易的使用,现在我们已经兼得。

    KeyChain 2.3.2. http://www.gentoo.org/projects/keychain     Copyright 2002-2004 Gentoo Technologies, Inc.. Distributed under the     GPL       * Initializing /home/accountname/.keychain/localhost.localdomain-sh     file...     * Initializing /home/accountname/.keychain/localhost.localdomain-csh     file...     * Starting ssh-agent     * Adding 1 key(s)...     Enter passphrase for /home/accountname/.ssh/id_dsa: (enter passphrase)

清单 9. 在每台机器上初始化脚本化备份过程

我们的下一个任务是创建执行必要的备份过程的 shell 脚本。目标是执行服务器 1 和 2 的完全数据库备份。在我们的例子中,每个服务器都运行着 MySQL 数据库服务器,我们使用 mysqldump 命令行工具来将一些数据库表导出到一个 SQL 输入文件中。

      #!/bin/sh       # change into the backup_agent directory where data files are stored.     cd /home/backup_agent       # use mysqldump utility to export the sites database tables     mysqldump -u sitedb -pG0oDP@sswrd --add-0drop-table sitedb --tables     tbl_ccode tbl_machine tbl_session tbl_stats > userdb.sql       # compress and archive     tar czf userdb.tgz userdb.sql

清单 10. 服务器 1 的 dbbackup.sh shell 脚本在服务器 2 上,我们将设置一个类似的脚本来备份站点数据库中给出的独有表单。每个脚本都通过下面的步骤标记为可执行的:

  [server1]:$ chmod x dbbackup.sh

在服务器 1 和 2 上设置了 dbbackup.sh 后,我们返回到离线的数据服务器,在那里我们将创建一个 shell 脚本来调用各个远程 dbbackup.sh 脚本并随后传输压缩的(.tgz)数据文件。


相关文章


Linux操作系统下双启动环境的陷阱问题(上)
Linux操作系统下双启动环境的陷阱问题(下)
qmail vpopmail sqwebmail的安装步骤(中)
qmail vpopmail sqwebmail的安装步骤(上)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛