本文共 1835 字,大约阅读时间需要 6 分钟。
进程管理,包括计划任务的各种使用方法,一种是一次性任务,周期性任务, 一次性任务用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,所以刚才脚本要修改下转载地址:http://ywkgn.baihongyu.com/