shell脚本登录服务器 每天5分钟 | 运维基础(8)shell脚本

11/28 03:17:20 来源网站:辅助卡盟网

(3)xargs 不能操作文件名有空格的文件;

(4)exec参数是一个一个传递的,传递一个参数执行一次命令;xargs一次将参数传给命令,可以使用-n控制参数个数。

(5)exec文件名有空格等特殊字符也能处理;xargs不能处理特殊文件名shell脚本登录服务器,如果想处理特殊文件名需要特殊处理

综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,那么使用 xargs比较方便; 否则,就要用 exec了。

常用shell脚本实例

01 用shell脚本批量建立Linux用户

实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码!

脚本实现如下:

说明:

Linux下 Passwd有参数--stdin This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.

所以linux下自动改变用户密码的办法就是:Echo 密码 |passwd –stdin 用户名

说明:

echo -n 不换行输出:

$echo -n "123"

$echo "456"

最终输出 123456

而不是

123

456

echo -e 处理特殊字符:\n 换行且光标移至行首

ok,就这么一个简单的脚本,就可以再系统里批量生成账号了。而且密码跟账号的名字一样。

这就是for do done语句用法。

02 编写shell脚本

将/usr/local/test目录下大于100k的文件转移到/tmp目录下:

shell解释器脚本_shell脚本执行db2脚本_shell脚本登录服务器

03 通过apache访问日志access.log 统计IP和每个地址访问的次数辅助卡盟,按访问量列出前10名。

日志格式样例如下:

192.168.1.247 ---【02/jul/2010:23:44:59 + 8080 】 "GET /HTTP/1/1" 200 19

答案:

cat access.log | awk '{print $1}' |sort| uniq -c |sort -rn |head -10(uniq 参数说明:– c 显示输出中,在每行行首加上本行在文件中连续出现的次数。

sort参数说明:sort默认的排序方式是升序,-r 参数就会改变成倒叙;你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。)

04 一台监控主机,一台被监控主机

被监控主机分区使用率大于80%,就发告警邮件。放到crontab里面shell脚本登录服务器,每10分钟执行一次。

a、 首先两台机器要建立服务器间的信任关系。

b、脚本:

05 监控主机的磁盘空间

当使用空间超过90%就通过发mail来发警告:

shell解释器脚本_shell脚本执行db2脚本_shell脚本登录服务器

06 自动ftp上传

07 编写shell脚本,获取本机的网络地址。

比如:本机的ip地址是:

192.168.100.5/255.255.255.0

那么他的网络地址是:

192.168.100.1/255.255.255.0

IP地址也可这样获取:IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "

子网掩码:NETMASK= `ifconfig eth0 | grep "inet addr"|cut -f 4 -d ":"

08 某系统管理员需要每天做一定的重复工作,编制一个解决方案:

    暂无相关资讯
shell脚本登录服务器 每天5分钟 | 运维基础(8)shell脚本