预约试听:15323438773
  


技术分享

News

这些 Linux 的“自动化”技巧,教你轻松完成任务

日期: 2021-03-09
浏览次数: 34
这些 Linux 的“自动化”技巧,教你轻松完成任务


linux 系统的 web 网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应、日志分割、数据整理,在特定状态执行特定任务等等,这些都会需要 linux能实现自动执行某些任任务。本篇博文介绍如何进行常见的linux自动化任务。

实现“自动化”有如下好处:
1、节省人力,一个脚本就够了。
2、在夜晚自动执行可以避开网站流量高峰期,不影响网站白天的效率。
3、准确,设置完善的情况下,不会出差错。
4、当然最重要的还是省心了,不用频繁的敲某些命令了。
开机启动
开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令。
chkconfig命令
使用chkconfig命令可以在设置在不同启动级别下启动特定的服务或是程序。

先说一下linux的运行级别:
  • 等级0表示:表示关机
  • 等级1表示:单用户模式
  • 等级2表示:不带NFS功能的多用户命令行模式
  • 等级3表示:有带NFS功能的多用户命令行模式
  • 等级4表示:不可用
  • 等级5表示:带图形界面的多用户模式
  • 等级6表示:重新启动
chkconfig的命令如下:
  1. chkconfig --list //命令查看已设置的开启自启动列表。
  2. xxxd 0:off 1:off 2:on ... 6:off //list的结果,表示在xxxd服务在启动级别为2 3 4 5 的情况下会自动启动。
  3. chkconfig --add xxxd//向任务列表中添加一个xxxd服务
  4. chkconfig [--level 1/2/../6] xxxd on/off//设置xxxd用服务在n状态为开/关,[]内省略则在2345级别开启
  5. chkconfig --del xxxd //将任务列表中的xxxd服务删除
rc.d文件的编辑

也可以直接编辑/etc/rc.d/目录下的文件来实现开机自启动。此目录下有很多文件,rcn.d是在启动状态为n的情况下的启动文件夹,rc、rc.sysinit、init.d都是系统的模块或系统设置的自启文件[夹]。

我们用vim rc.local 编辑 rc.local文件,来定制自己的自启计划。命令十分简单,就像平常在操作一样。如/usr/local/apache/bin/apachectl start表示开机自启动apache服务器。

at实现定时任务
at是一个简单的功能简单的定时任务程序,它只能进行一次性的定时任务,其用法如下:
  1. #at time      //at加时间启动at命令
  2. at>operation    //输入要执行的操作
  3. at>Ctrl+D      //按Ctrl+D退出命令编辑

其time的常见形式如下
  1. at H:m tomorrow //第二天的H点m分
  2. at now + n minutes/hours/days/weeks //在n分/时/天/周后
  3. at midnight //在午夜=-=
  4. at H:m pm/am //在当天上午/下午的H点m分
我们也可以在/var/spool/at文件中查看at的当前命令。还需要注意的是,linux默认atd进程关闭状态,需要手动打开。
crontab实现定时任务

linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。
cron介绍

cron守护进程是一个由实用程序和配置文件组成的小型子系统,在几乎所有类 UNIX 系统上都可以找到某种风格的cron,我们可以用ps aux|grep cron找到crond这个守护进程。
我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。

  • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
  • /etc/crontab 这个文件负责调度各种管理和维护任务。
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • 我们还可以把脚本放在/etc/con.hourly、/etc/con.daily、/etc/con.weekly、/etc/con.monthly目录中,让它每小时/天/星期、月执行一次。
crontab的使用

我们常用的命令如下:
  1. crontab [-u username]    //省略用户表表示操作当前用户的crontab
  2. -e (编辑工作表)
  3. -l (列出工作表里的命令)
  4. -r (删除工作作)
我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有
  • * 取值范围内的所有数字
  • / 每过多少个数字
  • - 从X到Z
  • , 散列数字
以下是几个例子。
  1. 时间 注释
  2. 0 0 25 12 * //在12月25日的0时0分
  3. */5 * * * * //每过5分钟
  4. * 4-6 * * * //每天的4 5 6点
  5. * * * * 2,5 //每周二和周五
配合简单的shell脚本

如果我们的命令有逻辑判断等非常复杂的操作时,再直接编辑crontab就有点困难了,这时,我们可以使用shell脚本。其来历,分类定义与题不符,不再多说,我们直接说它的用法。
我们用vim /usr/sh/test.sh来使用vim编辑一个shell脚本
  1. #!/bin/sh //声明开始shell脚本
  2. a = 'hello world' //定义一个shell变量
  3. echo $a //熟悉的echo,输出a变量

然后crontab -e编辑crontab,添加 */5 * * * * /usr/sh/test.sh每隔五分钟运行一次test.sh脚本,也可以用 /phppath/php /filepath/test.php 来用php进程来执行php程序。


News / 推荐新闻 More
2022 - 09 - 17
关于举办“视觉定位工程实训”线下培训班 众所周知,工业机器人是制造业的高端制造设备,对于稳定性、定位精准度的要求,是 非常高的,因此,需要借助机器视觉技术处理图像,通过工业相机实现引导定位和模式识别 等操作,得快速获取物体的质心和边界,才能满足工业机器人系统运行的自定位需求。 联为智能教育特邀行业资深工程师共同举办视觉定位工程实训培训班。本次培训课程重 点介绍基于视觉定位项目要求所需的相机镜头相关参数,相机选型,精度评估,定位原理及 分类,标定设计等方面的知识和原理,并结合实际 案例和代码实制进行了详细的讲解和具 体的操作指导。具体通知事宜如下: 一、【培训目标】 1、能够利用图像处理软件进行具体定位项目的开展 2、对视觉定位原理有较深全面的理解,并代码实现。3、通过原理解析、典型实例操作强化应用,提升学员解决实际工程问题的能力。 学会如何设计标定,...
2022 - 07 - 22
电气工程系主任刘忠翔率队到深圳开展企业调研为深化校企合作,深入推进2020级学生岗位实习和学生就业工作。2022年6月21日,贵州装备制造职业学院电气工程系党总支书记兼主任一行4人到深圳市联为智能技术有限公司、深圳市海目星激光智能装备股份有限公司、深圳龙华区人才园等调研,并开展深入的交流座谈。交流座谈会上,深圳市联为智能技术有限公司董事长陈星树表示:贵州装备制造职业学院在专业技术、研究方向与公司发展高度契合,双方可以在促进智能制造毕业生高质量就业、专业人才培养、推进新型产教融合等方面深度合作。电气工程系党总支书记兼主任刘忠翔对贵州装备制造职业学院和系部的办学情况、学科建设情况等进行了介绍,希望双方尽快就智能制造新型产教融合相关细节展开深入沟通,促进学生高质量就业和发展,同时在智能制造领域开展长效的合作。调研过程中,刘忠翔一行还深入海目星自动化产线的装配调试现场实地考察,并与企业负责人、人力...
2021 - 10 - 21
PLC编程规范及建议28条,你做到了吗?01、完美的PLC程序需满足的设计要求一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释、精良的架构、良好的可扩展性、完备的报警保护系统、运行前的模拟系统。1. 简单性使PLC程序尽可能简单。简单的含义就是尽可能的使用标准化的程序框架,尽可能使用简单的指令。要想程序简单,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。2. 可读性要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便于调试,而且,还要便于别人读懂你的程序,便于使用者维护。必要时,也可使程序推广。要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,以至于用面向对象的方法进行设计。要多用一些标准的设计。如遇特殊情况下采用语言编程,多数情况下请使用梯...
2021 - 10 - 20
老工程师的PLC编程建议 1、PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有“手动”、“自动”等控制模式(一般都是多个只能一个时)。在程序里面可以用“MOV”指令。如:当选择“手动”就将常数1MOV到一个寄存器VB10里面,当选择“自动”就将2MOV到同一寄存器VB10。只要判断寄存器的数据是多少,就知道系统是那种控制方式。这样的思路好处是容易理解,不需要互锁之类的麻烦程序。2、程序有模拟量控制时,如果读取的模拟量基本上没误差,可以采取时间滤波的方式,延时一段时间。如果读取的数据误差很大,就需要采取其它的滤波方式,如算平均值等。可以查阅相关的资料。3、在程序调试过程中(特别是设备改造时,你的程序是加入到原来设备的程序中时),当程序语句中出现条件满足,而输出线圈不接通时,可以检查你的这段程序是否是在这样的语句之间,如JUMPgoto等语句。还有一种可能就是在中断程...
技术分享
 
2022 / 09 / 17
关于举办“视觉定位工程实训”线下培训班 众所周知,工业机器人是制造业的高端制造设备,对于稳定性、定位精准度的要求,是 非常高的,因...
 
联系方式
深圳市龙华区观澜街道桂香社区桂圆路23号联为智能装备数字产业园
1812977051@qq.com

15323438773 陈老师

0755-29495142

预约免费试听
  • 您的姓名:
  • *
  • 公司名称:
  • 地址:
  • 电话:
  • *
  • 传真:
  • E-mail:
  • 邮政编码:
  • 留言主题:
  • 详细说明:
  • *
     
联为智能教育专业打造自动化教育产、学、研一体化平台,成为智能制造教育领导者。联为plc培训班精心打造专业培训实操基地,专门为学员研发一批教学设备,包括机器人学习教学连线,plc培训学习教学连线,工业机器人培训、plc编程培训等专业的教学设备,让学员真正理论实践一体,学以致用,从实践交流中体会知识的精髓,来一场完美的职业转身。
扫码学习
深圳联为智能教育感谢您的关注!
plc学习
在线直播间
plc培训班
小胡老师
Copyright ©2005 - 2013 深圳市联为智能教育有限公司


犀牛云提供企业云服务
5
电话
  • 15323438773
6
二维码
回到顶部