Articles of centos

脚本在50台服务器上运行。 我如何确保只有一个执行特定的步骤?

我有一些工作需要在50多台服务器上完成。 第一步是将一些源代码的更新版本签出到一个共享目录(假设所有共享驱动器都已安装)。 其次是在每个服务器上执行一些工作。 我宁愿让这两个脚本在每台服务器上运行。 所有50多台服务器都是从一张磁盘映像中克隆出来的,对我来说,定制它们是不现实的。 当50个服务器运行第一个脚本时,我只想要第一个脚本尝试运行它来实际运行它。 其他我想简单地退出。 实际运行脚本的服务器应该更新共享目录,然后退出。 之后,第二个脚本将运行并根据第一台服务器获取的更新代码在所有服务器上执行该工作。 什么是最好的方法来做到这一点? 我可以可靠地让第一个脚本运行在一台服务器上,并创build一个文件,或者作为某种types的“信号灯”或“locking”,使其他服务器远离? 更复杂的是,我正在考虑让每个服务器上的相同cron文件运行脚本,这意味着所有脚本都可以同时运行,假设所有的时钟都是相同的。 我希望这些将从bash脚本运行。 这是否有道理? 编辑:更新的基础上的问题: 我们不希望每个服务器都试图检出它们自己的这些文件副本 – 它们在一个多GB的源代码库中,并且有50个以上的代码同时签出对于我们的源代码pipe理服务器来说是很困难的(而且不可扩展到100多台服务器)。 在50多台服务器上添加一个cronjob并不是什么大问题,但是用自己的configuration添加另一台定制的服务器是很困难的。 我们已经克隆了50台服务器 – 维护一台单独的服务器只是为了检查50多台服务器的最新源代码,看起来很浪费,而且会增加更多的开销,而不仅仅是将脚本添加到我们当前的服务器上。

垃圾邮件发送脚本注入

我很抱歉,如果这已经问了一百万次。 我的服务器上的帐户之一被黑客入侵。 一个电子邮件垃圾邮件发送脚本被注入并发送大量的电子邮件到一些随机地址。 我有我的服务器上的cPanel / WHM WHM 11.38.0(内部版本5)也是CENTOS 5.9 x86_64 我通常不使用cPanel,也不使用WHM我从一开始就在这个服务器上使用它,后来我又忙于设置一个非WHM的服务器。 到目前为止我所做的是: 我阻止有问题的帐户从WHM发送邮件 我执行了这个命令exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm因为我在邮件队列中收到了70k封电子邮件 我重新启动了服务器 目前我不能轻松更改该电子邮件帐户的密码。 有没有一种方法可以准确地看到什么过程,或者更好的脚本发送这些邮件和它位于哪里? […]

在CentOS 6上卸载Ruby on Rails

我如何删除Ruby on Rails和所有相关的gem? 我试过yum remove ruby但得到这个回应: yum remove ruby Loaded plugins: fastestmirror, security Setting up Remove Process No Match for argument: ruby Loading mirror speeds from cached hostfile * base: mirror01.th.ifl.net * extras: mirror01.th.ifl.net * updates: mirror01.th.ifl.net No Packages marked for removal 如果我写$rails -v , $ruby -v或者$gem -v我仍然会把它们的版本返回给我,这表明它们已经安装。

在CentOS 6.4中意外删除了symlink libc.so.6。 如何获得sudo特权重新创build它?

我不小心删除了符号链接/lib64/libc.so.6 – > /lib64/libc-2.12.so $ sudo rm libc.so.6 那么我不能使用任何东西,包括ls命令。 这个错误出现在我input的任何命令上 ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory 我试过了 $ export LD_PRELOAD=/lib64/libc-2.12.so 在这之后,我可以使用ls和ln … ,但仍然不能使用sudo ln … , sudo -E ln … , sudo su甚至su 。 我总是得到这个错误 sudo: error while loading shared libraries: libc.so.6: cannot open […]

在Linux VM中安装Oracle数据库

我正在尝试在虚拟机中设置Oracle数据库服务器(目前仅用于testing目的)。 我正在使用的设置: VirtualBox的 NAT模式下的networking适配器(redirect端口22-> 22,80-> 80,1521-> 1521,8080-> 8080) 如果可能,我宁愿避免桥接networking 如果数据库可以被外界访问,而不仅仅是主机操作系统 CentOS 6.4 64位 Oracle XE版本11.2.0.2.0“Production”,使用默认端口(1521和8080)进行安装和configuration, 防火墙在客户操作系统和主机操作系统中均被禁用 主机操作系统在代理之后 问题 我无法从主机访问数据库(通过端口1521,使用sqlplus或SQL开发人员)。 我可以从虚拟机本身访问它(使用sqlplus)。 我也可以从主机SSH进入虚拟机,我可以访问从主机的Web界面,当我导航到: http://127.0.0.1:8080/apex 因此,VirtualBox的NAT设置似乎在一定程度上起作用。 当我执行lsnctrl状态时,听众似乎已经启动了。 listener.ora文件如下所示: # listener.ora Network Configuration File: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = […]

我可以使用Apache和Mysql生成dynamic虚拟主机吗?

我想有一个网页,我可以用所有的参数来定义我的病毒主机 Port Document Root Log 和所有其他参数,以便我可以有一个每个virual hosts Mysql Row ,Apache从那里获取所有的virual hosts 。 有没有办法做到这一点

在Centos 6.4上切换PHP版本

我使用的是CentOS 6.4,我有Apache 2.2和MySQL,但PHP版本是5.5.1,这对我来说是一个问题,因为我们开发的应用程序正在使用PHP 5.3和更低版本。 我使用本教程来安装一切: http : //www.if-not-true-then-false.com/2010/lamp-linux-apache-mysql-php-on-fedora-centos-red-hat-rhel/ 胸围我无法find任何答案在networking上正确configuration服务器切换PHP版本与CGI或FastCGI。 你可以帮我吗?

在CentOS上安装xmlsec

我安装了xmlsec,当我尝试validationXML文档时,它一直给我一个错误。 yum install xmlsec1 yum install xmlsec1-openssl [vagrant@localhost SSO-ROR-development]$ xmlsec1 –verify ../tmp_SAML_Sample.xml func=xmlSecCryptoDLLibraryCreate:file=dl.c:line=146:obj=lt_dlopenext:subj=unknown:error=7:io function failed:filename=libxmlsec1-openssl func=xmlSecCryptoDLGetLibraryFunctions:file=dl.c:line=498:obj=unknown:subj=xmlSecCryptoDLLibraryCreate:error=1:xmlsec library function failed:crypto=openssl func=xmlSecCryptoDLLoadLibrary:file=dl.c:line=449:obj=unknown:subj=xmlSecCryptoDLGetLibraryFunctions:error=1:xmlsec library function failed: Error: unable to load xmlsec-openssl library. Make sure that you have this it installed, check shared libraries path (LD_LIBRARY_PATH) envornment variable or use "–crypto" option to specify different crypto engine. Error: initialization […]

在login时隐藏或更改Centos信息

我们怎样才能closures在centoslogin屏幕上的信息文本?

需要在没有连接互联网的Cent OS超级计算机上安装应用程序

我inheritance了一个项目,我需要在运行CentOS的全新超级计算机上安装一些应用程序。 例如,我需要在那里安装Git和Bugzilla以及其他一些我习惯于使用yum(通过连接到互联网的东西)的东西。 我的笔记本电脑有一台Mac OSX,并且通过以太网连接连接到超级计算机的命令行。 处理这类项目最好的办法是什么? 安装Bugzilla需要的所有CPAN模块似乎很痛苦。 有没有更好的办法来这样的事情?