0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Linux的自动化小技巧详解

Linux爱好者 来源:博客园 作者:博客园 2021-04-12 13:38 次阅读

实现“自动化”有如下好处:

节省人力,一个脚本就够了。

在夜晚自动执行可以避开网站流量高峰期,不影响网站白天的效率。

准确,设置完善的情况下,不会出差错。

当然最重要的还是省心了,不用频繁的敲某些命令了。

开机启动

开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令。

chkconfig命令

使用chkconfig命令可以在设置在不同启动级别下启动特定的服务或是程序。

先说一下linux的运行级别:

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:不带NFS功能的多用户命令行模式

等级3表示:有带NFS功能的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

chkconfig的命令如下:

chkconfig --list //命令查看已设置的开启自启动列表。

xxxd 0:off 1:off 2:on 。.. 6:off //list的结果,表示在xxxd服务在启动级别为2 3 4 5 的情况下会自动启动。

chkconfig --add xxxd//向任务列表中添加一个xxxd服务

chkconfig [--level 1/2/。./6] xxxd on/off//设置xxxd用服务在n状态为开/关,[]内省略则在2345级别开启

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是一个简单的功能简单的定时任务程序,它只能进行一次性的定时任务,其用法如下:

#at time //at加时间启动at命令

at》operation //输入要执行的操作

at》Ctrl+D //按Ctrl+D退出命令编辑

其time的常见形式如下

at H:m tomorrow //第二天的H点m分

at now + n minutes/hours/days/weeks //在n分/时/天/周后

at midnight //在午夜=-=

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的使用

我们常用的命令如下:

crontab [-u username] //省略用户表表示操作当前用户的crontab

-e (编辑工作表)

-l (列出工作表里的命令)

-r (删除工作作)

我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。

crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有

* 取值范围内的所有数字

/ 每过多少个数字

- 从X到Z

, 散列数字

以下是几个例子。

时间 注释

0 0 25 12 * //在12月25日的0时0分

*/5 * * * * //每过5分钟

* 4-6 * * * //每天的4 5 6点

* * * * 2,5 //每周二和周五

配合简单的shell脚本

如果我们的命令有逻辑判断等非常复杂的操作时,再直接编辑crontab就有点困难了,这时,我们可以使用shell脚本。其来历,分类定义与题不符,不再多说,我们直接说它的用法。

我们用vim /usr/sh/test.sh来使用vim编辑一个shell脚本

#!/bin/sh //声明开始shell脚本

a = “hello world” //定义一个shell变量

echo $a //熟悉的echo,输出a变量

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11217

    浏览量

    208827

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

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    开关电源自动化测试设备:如何实现自动化测试?

    开关电源自动化测试设备是将测试软件和测试硬件集成在一个电源测试柜中的ate自动测试设备,其测试原理是通过计算机操控测试仪器,从而减少人工干预,完成开关电源的自动化测试,旨在解放人力,提高测试效率,让测试更便捷。
    的头像 发表于 08-30 18:19 1155次阅读
    开关电源<b class='flag-5'>自动化</b>测试设备:如何实现<b class='flag-5'>自动化</b>测试?

    机械自动化和电气自动化区别是什么

    机械自动化和电气自动化是现代工业生产中两个重要的领域,它们在许多方面有着密切的联系,但也存在一些明显的区别。 一、基本概念 机械自动化 机械自动化是指利用机械设备、传感器、控制系统等技
    的头像 发表于 07-01 09:33 3619次阅读

    机械自动化自动化的一种吗

    引言 自动化技术是指利用控制装置对生产过程进行控制,以实现生产过程的自动化。机械自动化自动化技术的一种,它主要涉及到使用机械设备和控制系统来实现生产过程的
    的头像 发表于 07-01 09:32 1520次阅读

    工业自动化中的控制方式

    工业自动化是现代工业发展的重要标志,它极大地提高了生产效率,降低了生产成本,并改善了产品质量。在工业自动化中,控制方式作为实现自动化控制的关键环节,其重要性不言而喻。本文将详细介绍工业自动化
    的头像 发表于 06-17 11:41 703次阅读

    如何实现PLC的自动化控制逻辑

    在工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)扮演着至关重要的角色。PLC通过编程实现自动化控制逻辑,使设备能够按照预定的程序进行工作,极大
    的头像 发表于 06-15 16:44 1047次阅读

    机械制造与自动化自动化类吗

    机械制造与自动化自动化领域的一个重要分支,它涉及到机械设计、制造、检测、控制等多个方面,是现代制造业的核心组成部分。 机械制造与自动化是指利用计算机、机器人、传感器等自动化设备和技术
    的头像 发表于 06-11 11:18 1415次阅读

    工业自动化自动化区别是什么

    工业自动化自动化是两个密切相关但又有所区别的概念。在这篇文章中,我们将详细探讨它们之间的区别,以及它们在现代工业生产中的应用。 一、自动化的定义 自动化是指通过使用机器、计算机和其他
    的头像 发表于 06-11 11:13 1526次阅读

    工业自动化包含哪些技术

    工业自动化是现代制造业中不可或缺的一部分,它通过使用各种技术和设备来提高生产效率、降低成本、提高产品质量和安全性。 一、工业自动化概述 工业自动化是指在生产过程中,通过使用计算机、传感器、执行器等
    的头像 发表于 06-11 11:11 816次阅读

    非标自动化设备

    1、非标自动化设备 2、根据需求设计和制造 3、完成代替人工的目标
    发表于 03-25 09:52

    工业自动化系统设计

    工业自动化系统设计是一项涉及多个领域和技术的综合性任务。它旨在通过自动化设备和系统的集成,提高生产效率、降低能耗、确保产品质量和增强企业竞争力。 一、工业自动化系统设计的原则 可靠性:工业自动
    的头像 发表于 02-02 17:00 697次阅读
    工业<b class='flag-5'>自动化</b>系统设计

    TC397怎么自动化烧录?

    TC397第一次烧录的时候需要先烧录六个包,使用Infineon Memtool 4.8软件,如果想要量产,怎么实现不用手动选择文件的烧录方式,使用自动化烧录
    发表于 01-25 07:03

    电源测试怎么自动化?电源模块自动化测试系统如何实现?

    纳米软件在电测行业深耕十余年,在行业的大背景下,为了进一步完善自动化测试,开发出了新的智能的电源模块自动化测试系统ATECLOUD-POWER,实现自动化测试,
    的头像 发表于 12-15 14:40 813次阅读
    电源测试怎么<b class='flag-5'>自动化</b>?电源模块<b class='flag-5'>自动化</b>测试系统如何实现?

    LabVIEW与Tektronix示波器实现电源测试自动化

    LabVIEW与Tektronix示波器实现电源测试自动化 在现代电子测试与测量领域,自动化测试系统的构建是提高效率和精确度的关键。本案例介绍了如何利用LabVIEW软件结合Tektronix
    发表于 12-09 20:37

    自动化仪表和自动化控制系统的应用

    在企业生产过程中,要想使其达到最佳的生产效率,就需要对自动化仪表和自动化控制技术进行合理的应用。在自动化控制系统的应用中,要对其进行合理的设计和配置,使其能够发挥出最大的作用。首先,要将该技术应用到
    的头像 发表于 12-08 10:11 944次阅读

    浅析中国工业自动化与智能应用

    自动化驱动产品与智能操控系统主要用于工业自动化中的设备自动化领域,其中自动化驱动产品是实现设备单机自动化的核心部件;智能操控系统是在设备单机
    发表于 12-01 10:11 950次阅读
    浅析中国工业<b class='flag-5'>自动化</b>与智能<b class='flag-5'>化</b>应用