2019/02/13 脚本编程进阶for

进程管理,包括计划任务的各种使用方法,一种是一次性任务,周期性任务,
一次性任务用at实现
周期性任务用cron实现(crontab等
这两个任务都依赖于各自的服务,在centos7上对应 了atd这个服务

在这里插入图片描述

没有启动,就无法通过at来执行一次性任务的,cron也是要启动才能执行周期任务
在这里插入图片描述
如果不启动,设置了任务也是白设,设置开机就启动
在这里插入图片描述
在centos6不太一样,runlevel 启动模式
在这里插入图片描述
chkconfig atd on 等价于centos7 的systemctl enable atd
在这里插入图片描述
命令不太一样
在这里插入图片描述
在这里插入图片描述
周期性任务可以直接用crontab -e 创建
分钟(0-59) 小时(0-23)一月每日(1-31) 月(1-12)星期(0-6)(0跟7一样) /path/cmd(要执行的命令,最好把路径加上)
每天都两点半执行
在这里插入图片描述

** * 2 * * * /path/cmd
(每天2点每分钟执行命令60次)的含义是每的意思*
真正的每天2点执行是在这里插入图片描述
计划任务也可以编辑/etc/crontab文件来实现,格式就是要加用户名
在这里插入图片描述
这个格式就是要加用户名,只适合管理员,普通用户打不开,所以一般用crontab -e(适用于所有人)
在这里插入图片描述
这个命令存到这个文件里
在这里插入图片描述
一定要确保时间是同步的,时间不准执行了,就是不对的

脚本三种常见的逻辑处理方式:
顺序执行,选择执行,循环执行

windows -a 取消 linux -c取消
一个小时点一下自动关机,bat脚本

在这里插入图片描述
在这里插入图片描述
windows计划任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
if语法
case 语法比较针对离散值,单个值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-c1ping 一次主机 -w2 2秒不返回结果,就认为ping不通(有时侯默认5秒ping不通,)
如果ping通,就是主机1是开机
如果ping不通,就显示主机1是出于维护状态(undergoing maintenance,编辑一个文件放在文件里(把维护的主机名放进去
如果既不是ping通也不是不通
就认为主机1已经当机了(意外当机 unexpectedly down,并且以非0 方式退出(exit1

在这里插入图片描述
循环,就是一个脚本重复执行多次,在执行的时候,这样的逻辑关系:
循环次数已经知道了,如(1+2+3。。。。100)
次数未知,但是我知道,什么时候满足什么条件退出,执行多少次也不知道
进入条件,上面时候执行循环,什么时候退出循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
与case对比,变量引用要加$符号,变量名就不用,列表中间空格隔开,列表决定了do几次,列表有几个,将执行多少次循环(列表有4个,就代表执行4次
执行第一次时,变量名对应的第一个字符串,name=wang
什么时候变量匹配到最后一个就结束了
把列表中的元素用空格隔开,分别执行

在这里插入图片描述
列表可以手工生成,用空格隔开
在这里插入图片描述
但是大部分情况下,不是手工生成的
在这里插入图片描述
10-2 ,以3 突进,10-20,以3突进
在这里插入图片描述
生成列表也可以用seq,列表不一定空格隔开,回车也行
在这里插入图片描述
2 3 10 从2开始到10 以3突进 命令要用反向引号
在这里插入图片描述
反向单引号=$(),还支持通配符
在这里插入图片描述
¥*是作为整体的,¥@是单个单个的

在这里插入图片描述
也支持位置变量
面试题经常问1到+100
在这里插入图片描述
用for循环怎么写
在这里插入图片描述
有些公司规定空格4个或者8个,或者tab键,但是tab键在不同的环境里距离不一样,所以有些企业就规定空格几个
在这里插入图片描述
脚本执行完后su是没有值的,因为时子进程,但是命令的话就要做初始
在这里插入图片描述
所以一般习惯就是在脚本里加unset 初始化变量
在这里插入图片描述
在这里插入图片描述
bash -n 检查语法,但是下面的格式又不好看,所以一般加-
文件的第17行,

在这里插入图片描述多行重定向的方法
在这里插入图片描述
把王的口令改成magedu
在这里插入图片描述
创建100个用户,并且设置默认口令是passwd,判断是否存在,存在提示创建失败,不存在加命令magedu
在这里插入图片描述
在这里插入图片描述
这样条理更清晰
在这里插入图片描述
用创建用户的成功失败来判断,建议不用中文
在这里插入图片描述
按时间排序
在这里插入图片描述
arping可以测试网络中是否有跟你一样ip地址的主机
在这里插入图片描述
来实现一个网段的扫描
windows netstat -n在这里插入图片描述
扫描地址
在这里插入图片描述
在这里插入图片描述
ctrl+c停止不了,速度太慢,如何快速执行,并行执行
在这里插入图片描述
&后台执行
在这里插入图片描述
并行执行
在这里插入图片描述
加wait表做完程序,退出,否则后台执行不退出
在这里插入图片描述
后台执行不会自动退出,要加一个回车才会取消
在这里插入图片描述
并行执行,
第一种把所有的东西放到一个脚本里

在这里插入图片描述
如果想要把ping通的主机保存到文件里,重定向到文件
在这里插入图片描述
在这里插入图片描述
统计每个地址能够访问就追加一个地址,+1,+1 累计能访问的主机有几个
在这里插入图片描述
在这里插入图片描述
i为0时,i++结果非真
在这里插入图片描述
在这里插入图片描述
因为i++是先i再+1,++i是先加1,所以刚才脚本要修改下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值