2019独角兽企业重金招聘Python工程师标准>>>

编写shell脚本的思路1、思考需要实现什么功能
2、用什么命令、方法实现此功能
3、写shell代码
4、将此.sh文件写入/root/.bash_profile 登陆文件中###CPU 内存 网络 存储IO###########
#!/bin/bash
mkdir -p /var/log/runrec
RecFile="/var/log/runrec/running.today"
RecTime=`date +"%Y-%m-%d %H:%M"`
LoadRec=`uptime`
MemRec=`free -m`
LastLoginRec=`last -n 20`
x=`ps aux | wc -l`
proNum=`expr $x - 1`
usage=` df -hT | grep "/$" | awk '{print $6}'`
echo"++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Record Time: $RecTime
cpu Load information:$LoadRec
Memory information:$MemRec
Last login 20 users record:$LastLoginRec
running process : $proNum
usage of / filesys: $usage">> $RecFile###查看服务状态\重启等######
#!/bin/bash
/etc/init.d/$1 status/stop/start/restart/reload#! /bin/bash
/sbin/service httpd status &> /dev/null
if [ $? -ne 0 ] ; then
echo "httpd is down.at time: `date`" >> /var/log/htmon.log
/sbin/service httpd restart
/sbin/service httpd status &>/dev/null
fi############检测FTP服务是否开启
#!/bin/bash
TARGET=$(awk'{print $1}' /etc/ethers)
echo"follow is anonymous FTP server:"
for IP in $TARGET
dowget –T 3  -t 3 ftp://$IP/ &> /dev/nullif [ $? -eq0 ] ; thenecho $IPfi
done
参数提示:-T 连接超时时间;-t 连接重试次数####搜集网卡MAC地址
#!/bin/bash
NADD="192.168.4."
FILE="/etc/ethers"
[-f $FILE ] && /bin/cp -f $FILE $FILE.old
HADD=1
while[ $HADD -lt 4 ]
doarping -c 2 -w 1 ${NADD}${HADD} &>/dev/nullif [ $? -eq0 ] ; thenarp -n | grep ${NADD}${HADD} | awk '{print$1,$3}' >> $FILEfilet HADD++
done#########批量添加用户
要求提供交互功能,当管理员执行该脚本时,可以根据提示指定需添加的用户数量(少于100)、用户名前缀、并能够设置这些用户账户的失效时间,初始密码。
用户名编号统一使用两位数,如使用”01”、”02”、”03”的形式,而不是”1”、”2”、”3”的形式。
编写对应的批量删节除用户脚本,要能够通过命令行参数指定用户名前缀,执行脚本后删除所有使用了该前缀的用户账户,但要防止删除root用户。
批量添加用户脚本:
1、批量添加用户脚本myuadd.sh内容如下:
#!/bin/bash
read-p "input nu <1-99>:" nu
read-p "input name:" name
read-p "input date <YYYY-MM-DD>:" date
read-p "input password:" password
a=1
if[ $nu -lt 100 ]
thenwhile[ $a -le $nu ]doif [ $a -lt 10 ]thenuseradd -e $date"$name"0"$a"echo "$password" | passwd--stdin "$name"0"$a" &>/dev/nullelseuseradd -e $date"$name""$a"echo "$password" | passwd--stdin "$name""$a" &>/dev/nullfia=`expr$a + 1`done
fi######批量删除用户脚本:
1、批量删除用户脚本myudel.sh内容如下:
#!/bin/bash
if[ $# -le 0 ] ; then
echo "error:the prefix of users has notbe specified."
echo "usage:$0 nameprefix"
exit 1
fi
tarjcvf /root/users.cnf.tar.gz /etc/passwd /etc/shadow /etc/group &>/dev/null
tobedel=`grep"$1" /etc/passwd | cut -d ":" -f 1 | grep -v"root"`
for u in $tobedel
do
userdel -r $u &> /dev/null
done

转载于:https://my.oschina.net/15861803763/blog/222715

常用的shell脚本案例(14.04.15更新)相关推荐

  1. 【转】常用的shell脚本

    from:http://blog.sina.com.cn/s/blog_4152a9f501013r6c.html 常用的shell脚本 (2012-10-10 22:09:07) 转载▼ 标签: 杂 ...

  2. 这100个shell脚本案例,你都知道吗?一篇教会你写90%的shell脚本

    shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效.安全.低成本地使用 Linux 内核,这就是 Shell 的本质. shell脚本就是由Shell命令组成的执行文件, ...

  3. Shell脚本案例:批量新增用户

    Shell脚本案例:批量新增用户 1.准备用户数据文件 cat users.txt user1 1234567890 user2 1234567890 user3 1234567890 user4 1 ...

  4. 常用的shell脚本

    1.脚本之间传递参数 "1.sh"的脚本,接受参数.如下,如果有一个参数则赋值个sourceFile这个变量,否则用默认值. Shell代码 #!/bin/bash LANG=en ...

  5. Shell 脚本案例实战 [4]

    for循环结构 for 循环结构语句     1.for循环结构: 语法: for 变量名 in 变量取值列表 do 指令- done 提示:在此结构中"in 变量取值列表"可省略 ...

  6. mysqlin查询的java写法_[转载]常用的shell脚本

    1.脚本之间传递参数 "1.sh"的脚本,接受参数.如下,如果有一个参数则赋值个sourceFile这个变量,否则用默认值. Shell代码 #!/bin/bash LANG=en ...

  7. linux 常用的shell脚本

    1.脚本之间传递参数 "1.sh"的脚本,接受参数.如下,如果有一个参数则赋值个sourceFile这个变量,否则用默认值. Shell代码 #!/bin/bash LANG=en ...

  8. 在 Ubuntu 14.04/15.04 上配置 Node JS v4.0.0

    大家好,Node.JS 4.0 发布了,这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码,4.0 版就是这两个项目结合的产物--现在合并为一个代码库.这次最主要的变化是 N ...

  9. linux编写复制脚本程,常用的Shell脚本

    1.通过位置变量创建linux系统账户及密码 $1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 1 #!/bin/bash 2 #Author: Peter zh 3 #Blog: http ...

最新文章

  1. Java:定时启动线程
  2. 基础教程推荐:跟微软大咖学BI
  3. ueditor php版使用,ueditor 1.2.6 使用方法说明
  4. 蓝桥杯java a组_蓝桥杯十一届JavaA组-C++解题
  5. HTTP get post put delte等
  6. python3默认的字符编码和文件编码_Python的字符编码之三个问题
  7. 关于if...else语句的小注意
  8. oracle安装教程以及使用注意事项
  9. 【硬件工程师】元器件选型都不会?
  10. keras 基础入门整理
  11. 卷积bp神经网络算法详解,卷积神经网络实例讲解
  12. easy_ui之搭建后台界面(一)
  13. axure rp pro 9.0授权密钥
  14. 翻斗式雨量计的组成与工作原理
  15. ceph 数据恢复机制_ceph数据恢复(成功率相当高)
  16. vscode python F12无法跳转定义的解决
  17. 安全灵活,华为云桌面成为数字化办公最佳搭档
  18. 电脑端怎样具体操作图片文字识别?
  19. Linux deepin 配置ssh
  20. 厦门大学701语言文学基础考研参考书目

热门文章

  1. UOJ.311.[UNR#2]积劳成疾(DP)
  2. 日常英语---五、英语句子翻译和读的选择什么工具好
  3. 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化
  4. 使用NodeList
  5. Python ln_Python入门教程(三):史上最全的Numpy计算函数总结,建议收藏!
  6. android auto 字体大小,Android中给TextView字体大小用dp还是sp?dp和sp有什么区别?
  7. 起一个数的平方根_使用二分法计算一个数的算术平方根
  8. c语言单链表需要头结点,一个关于C语言链表头结点的问题
  9. matlab 转动惯量 叠加,一种汽车动力总成系统转动惯量合成方法
  10. 记录一下自动白平衡与自动亮度