因为懒汉式的实现是线程安全的,所以会降低整个访问速度,而且每次访问都要判断一次.有没有更好的方式实现呢?可以使用"双重检查枷锁"的方式来实现. 所谓"双重检查加锁"机制,是指并不是每次静茹getInstance方法都需要同步,而是先不同步.当进入方法后,先检查实力是否存在,如果不存在才进行下面的同步块,着是第一次检查,进入同步代码块,再次检查实力是否存在.如果不存在,就在同步的情况下创建一个实例,这是第二重检查.这样一来,整个过程只需要一次同步,从而减少了多次在同步…
如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原理是事先定义一个shell脚本模板,然后每个需要监控的站点复制一份模板替换掉模板文件里面的变量. 1.准备模板文件webcheck.template more webcheck.template ###################WEBURL define start##############…
http://blog.itpub.net/13885898/viewspace-1670297/ 有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形,我们可以用以下的方法来达到目的. 点击(此处)折叠或打开 #!/bin/ksh # # Created : 2015.05.25 # Updated : 2015.05.25 # Author : Jet Chenxi Zhang # Description : Get SELECT result…
业务逻辑:批量设置redis中手机号的验证码为888888: 准备shell脚本如下:将18888888100~18888888110的手机号验证码设置为888888: #!/bin/bash ;i<;i++)) do redis-cli -c -h >> phone.log done 在Linux中运行步骤: 1.vim phone.sh 2.复制上面脚本到该文件中 3.在vim中:wq命令然后回车,保存并退出vim; 4.赋予该文件可执行权限:chmod +x phone.sh   …
近期使用的一个集群hp1,由于维护集群的人不给力.节点总是过一段时间就掉一两个.今天发现重新启动hadoop时,HDFS已经进入保护模式了. 决定把slaves节点中的无法訪问的节点所有过滤掉.所以写了一个小脚本.在这里记录一下.以后方便直接拿来使用. PS:用C Shell编写的 代码例如以下: #!/bin/csh if ( $#argv < 1 ) then echo "Usage: $0 host_file" exit 1 endif set NODES = `cat $…
一.简介 源码地址 日期:2019/12/19 介绍:较两个mysql实例的配置是否一致,支持比较配置文件,也支持比较系统变量的值 效果图: 二.使用 适用:centos6+ 语言:中文 注意:无 下载 wget https://gitee.com/mo-shan/check_mysql_conf/raw/master/check_mysql_conf_diff.sh 对比系统变量 脚本的opt变量必须是system mysql连接配置需要用户自己定义 配置好直接执行如下命令 bash chec…
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将某个文件中的jack字符串替换为tom sed -i "s/jack/tom/g" test.txt 3.不检索某个文件 sed -i "s/jack/tom/g" `grep "jack" -rl --exclude="replacena…
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将某个文件中的jack字符串替换为tom sed -i "s/jack/tom/g" test.txt…
说明:过滤换行符确实有点吭,不是那么好弄.处理文本时需要将换行符替换为空格,若使用sed命令会比较麻烦,而使用tr命令非常方便. 输入文本(country.txt) China America France German sed命令 cat country.txt | sed ':label;N;s/\n/ /;b label' tr命令 cat country.txt | tr "\n" " " 两个命令输出一致,但是sed命令的输出结尾有换行符,而tr命令的输出…
虽然整体实现的自动安装,但还是有很多需要完善的地方,比如说: 1. 代码目前只能在root权限下运行,否则会出错,这方面需要加权限判断: 2.另外可以增加几个函数,减少代码冗余: 3.还有一些判断不够智能: ...... 苦于能力和时间都有限,只能写到这里了. installHadoop文件代码如下: #!/bin/bash # root_password="123456" jdk_tar=jdk-8u65-linux-i586.tar.gz jdk_url=http://downlo…