php 为 运维主机生成不同的随机秘钥。

<?php
	class generator1 {

		//const HOSTS = array(array(‘ubuntu‘=>‘123.57.221.66‘),array(‘pay_web‘=>‘101.201.222.104‘),array(‘video_web‘=>‘101.201.31.40‘),array(‘bg_web211‘=>‘123.56.181.211‘),array(‘quanzi‘=>‘101.201.55.37‘),array(‘bg_web231‘=>‘60.205.127.231‘),array(‘db2_master‘=>‘60.205.166.72‘),array(‘db2_slave‘=>‘60.205.166.74‘),array(‘db3_others‘=>‘59.110.11.16‘),array(‘test_web‘=>‘60.205.150.53‘),array(‘nfs1_redis2‘=>‘123.57.184.167‘),array(‘nfs1_redis1‘=>‘123.57.184.235‘),array(‘zhuanfaqi‘=>‘123.57.185.38‘),array(‘prepare_web‘=>‘59.110.8.82‘),array(‘bg_web64‘=>‘10.29.130.64‘));
		//define("HOSTS",array(‘123.57.221.66‘,‘101.201.222.104‘,‘101.201.31.40‘,‘123.56.181.211‘,‘101.201.55.37‘,‘60.205.127.231‘,‘60.205.166.72‘,‘60.205.166.74‘,‘59.110.11.16‘,‘60.205.150.53‘,‘123.57.184.167‘,‘123.57.184.235‘,‘123.57.185.38‘,‘59.110.8.82‘,‘10.29.130.64‘));
		const HOSTS = array(‘123.57.203.66‘,‘101.101.222.104‘,‘102.221.51.40‘,‘112.56.131.211‘,‘121.202.45.37‘,‘101.205.127.231‘,‘101.205.166.72‘,‘63.205.166.74‘,‘39.110.13.12‘,‘65.205.150.53‘,‘33.57.134.167‘,‘123.59.104.235‘,‘148.57.135.38‘,‘59.190.8.77‘,‘10.29.130.52‘);
		const HOSTNAMES = array(‘ubuntu‘,‘pay_web104‘,‘video_web40‘,‘bg_web211‘,‘quanzi37‘,‘bg_web231‘,‘db2_master72‘,‘db2_slave74‘,‘db3_others‘,‘test_web‘,‘nfs1_redis1‘,‘nfs2_redis2‘,‘zhuanfaqi‘,‘prepare_web‘,‘bg_web64‘);

		// 密码生成器函数
		public function generator_pass(){
			$time = time();
			//$md5($string);	md5 函数也可以为字符串生成一个随机的值
			$string = $time . "[email protected]#$%^&";
			$string1 = str_shuffle($string); 
			//$password = chunk_split($string1,9); 会在第9个位置插入一个指定的字符串
			$password = mb_substr($string1,0,12);
			return $password;
			//var_dump($string1."\n");
			//var_dump($password."\n");
		}

		// 为主机生成密码并记录日志
		public function produce_pass_for_hosts(){
			$new_hosts = array();
			$hosts = generator1::HOSTS;
			$hostnames = generator1::HOSTNAMES;
			for($i=0;$i<count($hosts);$i++){
				$new_hosts[$i][‘hostname‘]  = $hostnames[$i];
				$new_hosts[$i][‘host‘]  = $hosts[$i];
				$new_hosts[$i][‘password‘]  = $this->generator_pass();
			}
			return $new_hosts;
		}
}
		$gen = new generator1();
		$host_info = $gen->produce_pass_for_hosts();
		var_dump($host_info);
?>

python 写习惯了,写php还是有些不习惯!!多多联系吧!乐在其中!!

时间: 2024-10-12 19:29:03

php 为 运维主机生成不同的随机秘钥。的相关文章

linux运维初级课前实战随机考试题含答案(笔试+上机)

本文出自 "老男孩linux运维" 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/566654 linux运维初级课前随机考试: 一.笔试部分: 1.开机配置服务自启动的文件路径是?解答:/etc/rc.local 2.网卡配置文件的路径解答:/etc/sysconfig/network-scripts/ifcfg-eth0 3.Client 端DNS文件的路径解答:/etc/resolv.conf 提示:服务端DNS默认配置文件路径

如何成为云中硬核“牧羊人”?云堡垒机服务高效运维,让云主机不再成为落单的小羊!

企业运维场景难点,自检你中招了哪些?? 企业运维账号众多企业运维的服务器数量众多,而维护人员数量有限,一个运维人员维护多台主机.多个系统的现象普遍存在.因此,运维人员不仅管理的机器账号密码多种多样,而且需要同时在多套主机系统之间切换.这种情况大大增加运维人员工作量,导致运维效率低下.易出错.影响IT系统正常运行. ? 权限分配粗放,缺乏细粒度企业运维授权一般是采用操作系统自身的授权系统,授权系统功能分散在各个设备和系统中,导致缺乏统一的运维操作授权策略:授权颗粒度粗,无法基于最小权限分配原则管理

自动运维模块批量监控linux主机

1.修改linux agent解压即用包用解压缩软件打开zabbix_linux_agent.zip并进入到以下目录: 右键install_zabbix_linux_agent.sh 选择 在记事本打开,在参数区找到Agent_Server参数,并且值改为zabbix服务器的地址.结果如下图: 保存并更新到压缩包中: 2.自动运维模块添加主机管理操作步骤:自动运维->主机管理->新增信息填写:分组名:Linux ,主机名:192.168.1.10 ,IP:192.168.1.10 ,操作系统:

python常用运维脚本实例【转】

file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先open是内置函数,使用方式是open('file_name', mode, buffering),返回值也是一个file对象,同样,以写模式打开文件如果不存在也会被创建一个新的. f=open('/tmp/hello','w') #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,

IT基础架构运维规划

这是之前规划设计的IT基础架构运维规划方案,总结自己一段时间的运维经验相关敏感信息已经去除学无止境啊 XX运维工作架构规划 从2016年10月XX的运维工作到现在已经有两年多了,期间进行了很多调整,部署了很多业务系统,从一开始的混乱无序,到现在算是小有成效了.现在我们需要进一步完善现有运维工作,规划完整的架构,方便日后进行调整,保证能够科学而又高效的完成运维工作,提高客户满意度. 1.整体架构设计 整体架自下而上分为两个部分,基础环境和上层业务应用.基础环境主要是提供的基础虚拟机化环境和存储支持

linux运维、架构之路-Kubernetes1.13离线集群部署双向认证

一.部署环境 1.服务器规划 IP地址 主机名 CPU 内存 10.0.0.100 k8s-master01 2C 2G 10.0.0.101 k8s-node01 2C 2G 10.0.0.102 k8s-node02 2C 2G 2.Kubernetes 1.13包下载 https://github.com/kubernetes/kubernetes/releases 所用到包的版本: 3.Kubernetes工作流程 4.Kubernetes部署前准备 ①系统环境 [[email prot

运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口

运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口. 本文说的是写入操作,若是查询操作,能只打开一个主机的securCRT窗口,就不要打开两个主机的securCRT窗口. 由于ogg复制环境中需要单表数据重新同步的关系,我经常在生产环境的ogg源头库中expdp,在ogg目的端库中impdp 当我在生产环境的ogg源头库中expdp完成并scp dmp 文件到目的端os之后,我会立即exit退出ogg源头的securCRT窗口. 原因是我怕impdp之前的drop t

开启数据中心主机运维的上帝视角

常常有这么一句话在激励每一位运维人员,"不以故障多为耻,而以恢复快为荣."运维人员就是要快速定位问题,分析问题,排除故障,快速恢复来保障生产业务不受中断.然而,现代大型数据中心,运维人员要管理的系统节点比以前繁多,为了掌控数据中心的实时运行情况与定位问题,需要花的时间成本已经长得无法接受. 极好的可视化手段,能够让运维人员在纷乱的监控资源群中快速定位故障.我们用以下几点来了解这些功能. 一.全面观察,实时监控 我们抽象的把每一个监控的主机都当成一个圆圈,有多少监控的主机,就出现多少个圈

自动化运维工具(一)之( 主机信息收集)

公司里一般都会对服务器信息统计,(如服务器 cpu.内存.系统.ip.mac.sn等).高大上的公司都会有专门的开发或第三方成品的CMDB,最起码也会搞个Excel把这些信息都对应填好.如果服务器加个内存.换个ip主机名,手动再去把表格更新.万一哪天忘更新了,或者服务器变更不是我操作的,后期还得化时候去一一校对,我你个去..... 另,公司一般的上架前机器,在基准测试后会做一些系统初始化(如种上堡垒机的公钥,设置iptables和一些系统优化,当然还得安装salt client).之前都是写脚本