今天就跟大家聊聊有关PHP中常用的Shell脚本有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1、通过位置变量创建linux系统账户及密码
$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 19:19:45 # Name: userad.sh # Version: v1.0 # Description: This is a Script. `useradd $1` echo "$2" |passwd --stdin "$1"
2、每周5使用tar命令备份/var/log 下的所有日志文件,防止文件覆盖
vim backup.sh tar zcfP /tmp/varlog_$(date +%F).tar.gz /var/log crontab -e * * * * 5 bin/bash /server/scripts/backup.sh
3、实时监控本机内存和硬盘剩余空间,剩余内存小于500M,根分区剩余空间小于1000M的时候发送报警邮件
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 20:29:30 # Name: jiankong.sh # Version: v1.0 # Description: This is a Script. free=`free -m|awk 'NR==3 {print$4 }'` df=`df |awk 'NR==2{print $4}'` if [[ $free -lt 500 && $df -lt 1000000 ]];then mail -s "Warning~" 1227566276@qq.com echo 'send success!' else echo 'zhengchang!' exit 0 fi
4、脚本生成一个 100 以内的随机数值,提示用户猜数字,更具用户的输入,提示用户猜对了,猜打了或猜小了,直至用户猜对脚本结束。
5、检测本机当前用户是否为超级管理员,如果是管理员,使用 yum 安装 vsftpd,如果不是,则提示您非管理员,使用字串对比版本。
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 20:43:03 # Name: root.sh # Version: v1.0 # Description: This is a Script. root=`id -u` if [ $root -eq 0 ];then yum install -y vsftpd else echo 'no super user~' fi
6、依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 20:45:50 # Name: 3geshu.sh # Version: v1.0 # Description: This is a Script. read -p "first:" a read -p "second:" b read -p "third:" c if [[ -z $a || -z $b || -z $c ]];then echo "please input num---" exit 1 fi if [[ -n "$(echo $a| sed -n "/^[0-9]\+$/p")" && -n "$(echo $b| sed -n "/^[0-9]\+$/p")" && -n "$(echo $c| sed -n "/^[0-9]\+$/p")" ]];then if [ $a -lt $b ];then t=$a;a=$b;b=$t; fi if [ $a -lt $c ];then t=$a;a=$c;c=$t; fi if [ $b -lt $c ];then t=$b;b=$c;c=$t; fi echo " big --- small:$a,$b,$c" else echo "dont abcd...." fi
7、编写脚本,实现人机《石头,剪刀,布》游戏
8、编写脚本测试192.168.4.0/24整个网段中那些主机处于开机状态,那些主机处于关机状态(for 版本)
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 21:13:05 # Name: ping1.sh # Version: v1.0 # Description: This is a Script. for i in {1..254} do ping 192.168.4.$i -c 2 -w 1 2&>1 >/dev/null if [ $? -eq 0 ];then echo "192.168.4.$i active!!!" else echo "192.168.4.$i down..." fi done
9、编写脚本测试 192.168.4.0/24 整个网段中那些主机处于开机状态,那些主机处于关机状态(多进程版),定义一个函数来实现,ping 某一台主机,并检测主机的存货状态
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 21:18:43 # Name: ping2.sh # Version: v1.0 # Description: This is a Script. fun_ping(){ ping 192.168.4.$i -c 1 -w 1 2&>1 >/dev/null if [ $? -eq 0 ] then echo "192.168.4.$i active!" else echo "192.168.4.$i down." fi } for i in {1..254} do fun_ping done
10、编写脚本,复制文件的时候,显示进度条
11、9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)
12、使用死循环实时显示 eth0 网卡发送的数据包流量
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 21:50:32 # Name: eth5.sh # Version: v1.0 # Description: This is a Script. while : do ifconfig eth5 |sed -n '5,6p' done
13、使用user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码
脚本执行,需要提前准备一个 user.txt 文件,该文件中包含有若干用户信息
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 21:27:13 # Name: zidonguser.sh # Version: v1.0 # Description: This is a Script. user=`cat /server/scripts/user.txt` for i in $user do useradd $i echo "123456" |passwd --stdin "$i" done
14、编写批量修改扩展名脚本,如批量将 txt 文件修改为doc文件
执行脚本时,需要给脚本添加位置参数
脚本名 txt doc (可以将 txt 的扩展名修改为doc)
脚本名 doc jpg(可以将doc 的扩展名修改为jpg)
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 18:58:14 # Name: rename.sh # Version: v1.0 # Description: This is a Script. read -p "input weizhi" $wz for i in `ls $wz` do mv $i `echo $i|sed s#txt#doc#g` done
15、查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)
使用 netstat -atn 可以查看本机所有连接状态,-a 查看所有,
-t 仅显示tcp连接信息, -n数字格式显示
local address(第四列是本机的IP和端口信息)
Foreign address(第五烈是远程主机的IP和端口信息)
使用awk命令仅显示第5列数据,再显示第1列IP地址的信息
sort 可以按数字的大小排序,最后使用 Uniq 将多余重复的删除,并统计重复次数
#netstat -atn | awk -F"[: ]+" '{print $5}' 端口号 netstat -atn |egrep ":80|:22|:21" | awk '{print $5}' |awk -F ":" '{print $1}' |sort -rn |uniq -c
16、对100 以内的所有正整数相加求和(1+2+3.。。+100)
eq 100 可以快速自动生成100个整数
#!/bin/bash # Author: Peter zh # Blog: https://home.cnblogs.com/zhangwduoduoj/ # Time: 2019-08-17 21:10:05 # Name: qiuhe.sh # Version: v1.0 # Description: This is a Script. sum=0 for i in `seq 100` do let sum+=i done echo $sum
看完上述内容,你们对PHP中常用的Shell脚本有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。