打印“方阵”
#!/bin/bash#打印多少个数num=$1for i in `seq 1 ${num}`;dowidth=`echo ${#num}`wid=`echo ${#i}`value=$((${width} - ${wid}))#每个字符宽度保持一致 if [ "${width}" -gt "${wid}" ];then &nb...
打印乘法口诀
#!/bin/bashfor row in `seq 1 9`;do for field in`seq 1 ${row}`;do echo -e "${field}x${row}=$((${row} * ${field}))\c" done echo ""done
打印“金字塔”
#!/bin/bashfloor_num=$1for floor in `seq 1 ${floor_num}`;do for space in `seq $((${floor_num}-${floor})) -1 1`;do echo -e " \c" &nb...
mysql5.5安装
mysql5.5后相对以前的版本有个很大的改变,5.5后采用cmake编译,并且innodb作为默认的存储引擎,replication采用半同步复制。和以前的异步复制相比,在极端的情况下数据的一致性有了很大的保证。下面的脚本只是对mysql5.5的安装做了简要的说明。#!/bin/bash#Author: Andy#Time: 20130905#./my5install.shGROUP=mysqlU...
mysql ibdata1 ib_logfile的恢复
mysql如果使用的是innodb存储引擎,那么在mysql的DATA_HOME(一般是/var/lib/mysql)下,会有几个很重要的文件,ibdata1(数据文件)存放mysql的数据及索引,ib_logfileN(redolog事务日志文件)。如果误删除了这几个文件中的某个或某几个,下面的方法可以教你恢复。 误删除文件后,可以发现mysqld进...
mysql备份脚本
随着数据量的增大,mysql每次dump全备的数据都很大,时间也很长。基于这个原因,利用mysqlbinlog进行增量备份是个节省时间和空间的好方法。 下面这个脚本是在mysqlslave上运行的,slave开启log-bin和log-slave-updates选项,用来记录slave的日志。每周日一次全备,周一,二,四,五,六增量备份,周...
shell中IFS用法
一 IFS的介绍 Shell 脚本中有个变量叫IFS(Internal FieldSeprator) ,内部域分隔符。完整定义是Theshell uses the value stored in IFS, which is the space, tab, and newline characters bydefault, to delimit words for the read and set commands, whenparsing output from command substitutio...
awk引用shell变量
shell中的变量在awk程序中无法直接使用,因为在执行AWK时,是一个新的进程去处理的,这时就需要-v 参数来向awk程序中传参数。#!/usr/bin/bashfor code in `cat /tmp/article_summary.txt|awk -F "\t" '{print$1}'`;do row=`cat /tmp/article_summary.txt|grep -w "${code}"` awk -F "\t" -v code="${code...
vim中替换和删除
1 替换 用空格替换以“#”开头的行:%s/^#.*//g2 删除空行 刪除没有内容的空行 :g/^$/d 刪除包含有空格组成的空行 :g/^\s*$/d 除以空格或tab开头到结尾的空行 :g/^[ |\t]*$/d 3 删除以“#”开头的行:g/^#.*/d...
awk打印第N列后面的所有列
awk '{for(i=N+1;i
sed,grep用法小结
1 打印关键字所在行及其后n行sed -n '/XX/,+np' filegrep "xx" -An yourfile2 获取关键字所在行和其上n行grep "xx" -Bn yourfile3 获取关键字所在行的行号sed -n '/pattern/=' file4 打印并标出行号grep -n file5 多关键字搜索grep -E "xxx|yyy" file6 |表示或关系,比如 'gd|good|dog' 表示有g...
awk多分隔符操作
awk中-F"[:/]"表示:和/都是字段分隔符[root@localhost edm]# tail -n 2 /etc/passwdmysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bashtomcat:x:502:502::/home/tomcat:/sbin/nologin[root@localhost edm]# tail -n 2 /etc/passwd|awk -F "[:/]" '{print$7}'varhomeifconfig eth0|grep "inet addr"|awk -F "[ ...
shell获取字符串长度
方法一[root@192 ~]# str=123[root@192 ~]# echo ${#str}3方法二[root@192 ~]# str=123[root@192 ~]# echo $str|wc -L3
截取ip
方法一[root@192 andy]# ifconfig eth0|grep -w inet|cut -d " " -f 12|cut -d":" -f 2192.168.151.141方法二[root@192 andy]# ifconfig eth0|grep -w inet|cut -c 21-35192.168.151.141方法三[root@192 andy]# ifconfig eth0|grep -w "inet" |cut -d " " -f 12|sed's/^.*://g'192.168.151.141方法四[root@192 ...
shell禁止非法IP ssh登录
最近发现/var/log/secure里有大量陌生IP尝试ssh登录到服务器,于是写了下面的小脚本把非法IP列入“黑名单”。#!/bin/bash#Author: Andy#deny illegal ip login#尝试5次失败就列入黑名单,写入/etc/hosts.denycat /var/log/secure|grep -v 192.168|\ awk '/Failed/ {pri...
linux网络流量实时监控脚本
#!/bin/bashif [ -n "$1" ]; then eth_name=$1else eth_name="eth0"fii=0send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F: '{print $2}'`recv_o=`ifconfig $eth_name | grep bytes | awk '{print ...
nagios安装配置
一 使用目的 作为系统运维人员,对系统的监控是不可或缺的一项重要任务,当系统出现故障时能在第一时间得到通知并解决故障是每个运维人员职责。时下监控软件有很多比如:zabbix,cacti,nagios等,本文主要介绍nagios的一些基本功能。二Nagios工作原理 Nagios的功能是监控服务和...
expect批量修改密码
在工作过程中经常需要批量对多台机器进行操作,如果每台都手动操作那效率实在是太低了。这时就需要一种自动交互的方式对若干台机器进行批量处理,expect就扮演着这样一种角色。本文以批量修改密码为例浅谈expect的用法。Expect需要Tcl编程语言的支持,首先需要确定机器安装有expect,tcl。[root@rac1 scripts]# rpm -qa|grep ...
raw裸设备配置
一 概述二 共享磁盘导出,导入三 裸设备配置一 概述 在OracleRAC中,通常需要用裸设备来存放共享文件,如:OCR,VOTING DISK等。因为使用裸设备避免了经过Unix操作系统这一层,数据直接从Disk到Oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能...
共享存储之ISCSI
多年以来,光纤通道存储区域网 (FC SAN) 是构建基于网络的存储解决方案所使用的唯一技术。基于以前的一组 ANSI 协议(称为光纤分布式数据接口 (FDDI)),开发了光纤通道以在存储网络上移动SCSI命令。