Linux运维常用shell脚本实例

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

1、用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语句用法。

 

2、 编写shell脚本,将/usr/local/test目录下大于100k的文件转移到/tmp目录下:

 

 

3、通过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的一贯作风。)

 

4、一台监控主机,一台被监控主机。被监控主机分区使用率大于80%,就发告警邮件。放到crontab里面,每10分钟执行一次。

 

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

b、脚本:

 

5、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

 

 

6、自动ftp上传  

 

 

7、编写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 ":"

 

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

 

(1).从下午4:50 删除/abc 目录下的全部子目录和全部文件;


(2).从早上8:00~下午6:00 每小时读取/xyz 目录下x1 文件中每行第一个域的全部数;据加入到/backup 目录下的back01.txt 文件内;


(3).每逢周一下午5:50 将/data 目录下的所有目录和文件归档并压缩为文件;backup.tar.gz;


(4).在下午5:55 将IDE 接口的CD-ROM 缷载(假设CD-ROM 的设备名为hdc);


(5).在早上8:00 前开机后启动。
(a)用vi创建编辑一个名为prgx的crontab文件;
(b)prgx文件的内容:
50 16 * * * rm -r /abc/*
0 8-18/1 * * * cut -f1 /xyz/x1 >>  /backup/bak01.txt
50 17 * * * tar zcvf backup.tar.gz /data
55 17 * * * umount /dev/hdc
(c)超级用户登录,用crontab执行 prgx文件中的内容:
 root@xxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动crontab

 

9.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30 

 

 

10.编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。 

 

 

11.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。

 

参考答案:
(1)编写shell程序fileback: 

(2)编写任务定时器: 
echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron 
crontab /root/etcbakcron 
或使用crontab -e 命令添加定时任务: 
0 1 * * * /bin/sh /usr/bin/fileback 

 

12.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?

 

参考答案:
(1)第一种方法: 
用户应使用crontab –e 命令创建crontab文件。格式如下: 
0 0 * * sun cp –r /user/backup /tmp 
(2)第二种方法: 
用户先在自己目录下新建文件file,文件内容如下: 
0 * * sun cp –r /user/backup /tmp 
然后执行 crontab file 使生效。 

 

13.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 

参考答案: 建立程序 Pro16如下: 

 

END

碧茂课堂精彩课程推荐:

1.Cloudera数据分析课;

2.Spark和Hadoop开发员培训;

3.大数据机器学习之推荐系统;

4.Python数据分析与机器学习实战;

详情请关注我们公众号:碧茂大数据-课程产品-碧茂课堂

现在注册互动得海量学币,大量精品课程免费送!

Linux运维常用shell脚本实例(1) 目录 1、用shell脚本批量建立Linux用户 2、批量创建用户 3.批量添加组用户 4.批量删除用户 5.批量修改用户密码 6、 将目录下大于k的文件转移出去 7、批量修改文件名 8、ftp自动登录批量下载文件 9、ftp自动登录上传文件 10、ftp自动登录下载单个文件 11、ftp自动登录上传单个文件 12、获取本机的网络地址 13、判断输入是否为IP 14、判... 阅读详情

相关推荐

100个shell脚本合集

shell脚本合集,包括linux告警、mysql备份、nginx日志分析、系统初始化配置、服务器资源监控、lamp脚本linux故障检测、自动发布java项目、入侵与检测、端口扫描正则匹配、一键安装脚本等等

LinuxLinux系统运维9个实用的shell脚本

看到 9 个 shell 脚本范例,运维可以根据实际情况进行修改,9个 shell 脚本如下:1、Dos 攻击防范(自动屏蔽攻击 IP)2、Linux 系统发送告警脚本3、MySQL 数据库备份单循环4、MySQL 数据库备份多循环5、Nginx 访问日志按天切割6、Nginx 访问日志分析脚本7、查看网卡实时流量脚本8、服务器系统配置初始化脚本9、监控 100 台服务器磁盘利用率脚本

A1_3_9_7的博客 986

Linux运维常用shell脚本

linux系统管理,服务器及应用监控,python环境安装,nginx安装,数据库备份,从各处搜集来的shell脚本,会持续更新。

FixPng的博客 3579

运维入门常用的 34 个 Linux Shell 脚本

(18)根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动。

Alick.Q的博客 1724

34 个 常用 Linux Shell 脚本运维必备!

使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),# 如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值。#使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2。# 如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调。# 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,

LinkSLA的博客 1962

Linux常用Shell脚本运维+常用)汇总

Linux常用Shell脚本运维+常用)汇总

weixin_38203586的博客 1132

运维linux脚本实例,Shell运维脚本学习整理

Shell运维脚本学习整理发布时间:2018-09-15 21:49,浏览次数:516, 标签:Shell运维常用命令LINUX运维常用命令详解一 LINUX运维常用命令详解二 LINUX运维常用命令详解三 Linux三剑客之grep命令详解 Shell文本处理三剑客之sed Shell文本处理三剑客之awk grep、sed、awk命令使用参数说明 20个高效正则表达式 shel...

weixin_28953819的博客 212

Linux 运维常用 shell 脚本实例

1、用shell脚本批量建立Linux用户 实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码! 脚本实现如下: #!/bin/bash for i in `seq 1 50` do useradd -G student student$i ; echo student$i | passwd student$i --stdin; done 【说明:Linux下 Passwd有参数  --stdin  This

JineD的博客 3964

linux运维常用脚本实例,Linux运维常用shell脚本实例

1、用shell脚本批量建立Linux用户实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码!脚本实现如下:#!/bin/bashforiin`seq150`douseradd-Gstudentstudent$i;echostudent$i|passwdstudent$i--stdin;done【说明:L...

weixin_42361708的博客 252

运维linux脚本实例,日常运维工作shell脚本案例

1、list_sys_status.sh显示系统使用的以下信息:主机名、IP地址、子网掩码、网关、DNS服务器IP地址信息#!/bin/bashIP=`ifconfig eth0 | head -2 | tail -1 | awk '{print $2}' | awk -F":" '{print $2}'`ZW=` ifconfig eth0 | head -2 | tail -1 | awk '...

weixin_42320061的博客 384

运维linux脚本实例,Linux运维常用shell脚本之crontab实例

文章目录[隐藏]1、判断crond进程是否运行2.crontab操作3、contab操作案例4、contab操作案例1、判断crond进程是否运行#!/bin/bash NAME=crond NUM=$(ps -ef |grep $NAME |grep -vc grep) if [ $NUM -eq 1 ]; then echo "$NAME running." else ...

weixin_35974217的博客 250

运维linux脚本实例,Shell脚本使用示例

目录如下:1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值4、编写脚本/ro...

weixin_34828613的博客 396

Linux运维常用shell脚本之用户管理实例

1、用shell脚本批量建立Linux用户 实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码! #!/bin/bash for i in `seq 1 50` do     useradd -G student student$i ;      echo student$i | passwd student$i --stdi...

菲宇运维 3万+
上一篇: JavaScript中需要注意的运算符
下一篇: 干货丨大数据基础术语精粹来袭
ShuYunBIGDATA
博客等级 码龄9年 110粉丝 228原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShuYunBIGDATA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值