巧用cfengine管理linux服务器(转)
cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。Cfengine
适用于管理各种环境,从一台主机到上万台主机的机群均可使用。到2.2 版本为止,我们现在所知的用于一般性管理的最大安装机群约为20,000 台。
图-1 是Cfengine 的组成部分的关系图 。
图-1 Cfengine 的组成部分的关系图
基本安装
在任何一种情况下,你都需要两个库:BerkeleyDB,用于内部数据库的使用;和OpenSSL,用于加密方法。这些库都是开放资源,并且如
同cfengine一样可以免费使用。没有这些库,你将无法使用cfengine,你也不能用其他的库来替代这两个库。本文使用的RHEL
5.0已经包括这些库。
#wget
linux
/dag/redhat/el5/en/i386/dag/RPMS/cfengine-2.2.2-1.el5.rf.i386.rpm">ftp://fr.rpmfind.net/
linux
/dag/redhat/el5/en/i386/dag/RPMS/cfengine-2.2.2-1.el5.rf.i386.rpm
#rpm -ivh cfengine-2.2.2-1.el5.rf.i386.rpm
接下来的一步是建立cfengine工作目录树的基本结构:
手动建立Cfengine的工作目录
# mkdir /var/cfengine
# mkdir /var/cfengine/bin
# mkdir /var/cfengine/inputs
接下来,在工作目录bin的子目录下(例如:/var/cfengine/bin)建立cfengine可执行程序的本地副本。实际运行过程中,是这些副本被执行,因此当网络在执行任务期间断掉,也不会对系统产生风险。
步骤3 复制Cfengine二进制代码到工作目录
# cp /usr/local/sbin/cfagent /var/cfengine/bin
# cp /usr/local/sbin/cfexecd /var/cfengine/bin
# cp /usr/local/sbin/cfservd /var/cfengine/bin
# chown -R root:0 /var/cfengine
# chmod -R 755 /var/cfengine
3运行所需的进程
在最简单的安装中,可以通过在每台主机上手动运行cfagent来使用cfengine。但是,如果运行一个或多个守护进程,则会获益良多。
(1)cfexecd守护进程
尽管在理论上可以按需随时运行cfagent,但最好定期自动运行cfagent。这是使用cfexecd
的时间;cfexecd以守护进程的方式运行并按定义、预定义的计划执行cfagent。通过将时间类添加到cfagent.conf的
control块的schedule设置中对此计划进行修改。默认设置是Min00_05,这意味着cfagent将在每个小时的前5分钟运行。要每小时
运行两次,例如,可以将下面的代码放入cfa
相关文档:
小技巧,对于linux老鸟来说不止一提,但是对于我这种新手还有很有帮助的。
1. 命令行的别名:
sudo gedit ~/.bashrc
在打开的文件中使用:alias 简写命令=“要替换的命令”
如:alias l=“ls -l”
alias install=“sudo apt- ......
一、LINUX的进程状态 僵死态:当父进程还没有结束前,子进程就已经先结束了,这时子进程的资源没有人来回收。通常父进程需要用wait来等待子进程的结束。
进程的模式:用户模式(执行用户程序),内核模式(执行操作系统代码)
进程的类型:系统进程,用户进程 二、进程管理 ①fork函数
功能:创建一个全新的 ......
①malloc函数
原型:extern void *malloc(unsigned int num_bytes);
头文件:#include <alloc.h>
功能:分配长度为num_bytes字节的内存块。
说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。
举例:
#inclu ......
ACE库中专门对线程同步提供了两个类,一个是ACE_Thread_Mutex另一个是ACE_REcursive_Thread_Mutex。 在我看 来,在linux下进行线程同步,不要使用ACE_Thread_Mutex,用ACE_REcursive_Thread_Mutex就可以了。原因很 简单,因为ACE_Thread_Mutex不支持线程重入。一旦重入(同一个线程调用两次ACE_Thread_Mutex: ......
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文 ......