chk mysql.sh_常用的脚本(help,version,mysqlchk等)

脚本执行中颜色文字

echo -e "\e[40;32;1m 开始备份数据库和页面,花费时间估计较长,请耐心等待 \e[0m "

echo -e "\e[40;32;1m  ====升级完成,请参照检查表进行检查 !==== \e[0m"

help脚本

#!/bin/sh

####################################################

#  write by: ***

#  date:     2010-01-18

###################################################

#Help

if [ x$1 = 'x-h' ] || [ x$1 = 'x--help' ] || [ x$1 = 'x-?' ]

then

echo '###########################################################################'

echo '                 编写:*** 2010-01-18 '

echo ' 此脚本需要在视频文件的目录中进行执行: '

echo ' 升级结束后,请到脚本执行目录下查看日志文件.格式为 '

echo ' "执行日期-文件名.log"'

echo '##########################################################################'

exit

else

echo

echo " 如有疑问,请使用 $0 "-h" 或 "--help" 或 "-?" 查看帮助"

fi

列出目录中所有文件 文件夹的大小

for i in `ls`;do du -sh $i;done

ls | xargs du -sh

mysql检测简单的脚本

mysqlchk.sh

#!/bin/bash

main()

{

echo -e "\e[40;32;1m 数据库测试 网络测试脚本现在开始 \e[0m "

mysql -uvcom -pvcom -h61.168.223.57 -e 'show databases;' 2>&1

traceroute 61.168.223.57 2>&1

echo -e "\e[40;32;1m 测试结束 \e[0m "

}

nihao.sh  (调用mysqlchk.sh)

#!/bin/bash

. mysqlchk              引用脚本格式: .+空格+脚本名cd `dirname $0`         dirname $0 等于 dirname dirname 进入当前目录main > my.log

pid.sh   创建以进程ID为文件名称的log日志

#!/bin/bash

current_PID=$$  两个美元符号的特殊含义:当前进程ID号

ps aux | grep httpd | grep -v "grep" | awk '{print$2}' > /tmp/$current_PID.log

echo "rm log"

#rm -rf /tmp/$current_PID.log

$#  是你调用这个脚本时的参数个数

$*或者$@  依次显示你运行这个脚本时的所有参数

$$  运行该脚本当前进程ID号

特殊的shell变量

$# 传递到脚本的参数个数$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9 个$$ 脚本运行的当前进程 ID 号$! 后台运行的最后一个进程的进程 ID 号$@ 与 $* 相同,但是使用时加引号,并在引号中返回每个参数$- 显示 shell 使用的当前选项,与 set 命令功能相同$? 显示最后命令退出的状态。0 表示没有错误,其他任何值表明有错误

从1循环到100的两种方法(只针对bash其它的shell没试过)

echo {1..10} 屏幕显示出1,2,3....10

用此循环可以实现touch同时创建100个文件 :for i in `seq 100`;do touch $i;done

seq命令参考 man seq[root@hndx-zmd-ems root.adminssh]# for i in `seq 10`;do echo $i;done

1

2

3

4

5

6

7

8

9

10

[root@hndx-zmd-ems root.adminssh]#

[root@hndx-zmd-ems root.adminssh]# for i in {1..10};do echo $i;done

1

2

3

4

5

6

7

8

9

10

[root@hndx-zmd-ems root.adminssh]#

pgrep -l sshd  查找所有进程名中有sshd的进程ID

fuser -va 22/tcp 列出使用22端口的进程

fuser -va /home/evod     列出访问/home分区的进程

strace df  跟踪系统调用和信号(strace命令有可能没有,其他服务器拷贝即可)

shift命令

向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是shift命令的功能。

它每次将参数位置向左偏移一位,下面用一段简单脚本详述其功能。脚本使用while循环反馈

所有传递到脚本的参数。

[root@hntx-ay-lvs root.adminssh]# vi a

#!/bin/bash

loop=0

while [ $# -ne 0 ]

do

echo $1

done

你可能想像,上述脚本一直执行,直到命令行中不再有更多的参数输入。错了,因为没

有办法偏移到脚本中下一个参数,将只会反馈出第一个参数。执行结果如下:

./a 1 2 3

1

1

1

......

进入死循环

使用shift命令来处理传递到脚本的每一个参数。改动后脚本如下:

[root@hntx-ay-lvs root.adminssh]# vi a

#!/bin/bash

loop=0

while [ $# -ne 0 ]

do

echo $1

shift

done

现在再执行,结果将会不同:

./a 1 2 3

1

2

3  执行完毕

<< 符号在shell中应用

1.在ftp命令中使用<

现网服务器中的备份脚本有用到这种方法:

ftp -n 218.28.47.201

bin

cd bak_log/portal

hash

idle 7200

prompt off

put $newlogname

!

2.访问数据库

mysql -uroot -pEnCanadaForEMC

drop table if exists subscriber_mac_bind_temp;

!

3.快速创建一个文件

可以使用这种方法快速创建一个文件,并向其中存入一些文本:

$ cat >> myfile

名为myfile的文件,该文件中包含了一些文本。

如果打开了一个已经存在的文件,输入的内容会附加到该文件的末尾。

过滤某些节目并拷贝到指定目录

ls | grep 264avi | xargs -i cp {} /home/apache/media/media1/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值