当前位置: 首页 > 科技观察

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

时间:2023-03-21 23:55:02 科技观察

这些Linux“自动化”技巧教你轻松完成任务在特定状态下执行特定任务等等,这些都会需要linux自动执行某些任务。这篇博文描述了如何执行常见的Linux自动化任务。实现“自动化”有以下好处:节省人力,一个脚本就够了。晚上自动执行,可以避开网站流量的高峰期,同时不影响白天网站的运行效率。准确且设置良好,不会有错误。当然,最重要的是省心,不必经常敲一些命令。开机开机应该是我们非常频繁的需求。我们经常需要在开机时自动执行某些命令来启动服务、进程等。有了它,我们就不用每次开机都输入同样的一堆命令了。chkconfig命令使用chkconfig命令在不同的启动级别启动特定的服务或程序。先说一下linux的运行级别:0级表示:关机1级表示:单用户模式??2级表示:不带NFS功能的多用户命令行模式3级表示:带NFS功能的多用户命令行模式level4表示:不可用Level5表示:多用户模式,图形界面Level6表示:重启chkconfig的命令如下:chkconfig--list//命令查看已经设置的启用自启动列表.xxxd0:off1:off2:on...6:off//list的结果表示xxxd服务会在启动级别为234时自动启动5.chkconfig--addxxxd//添加一个xxxd服务到任务列表chkconfig[--level1/2/../6]xxxdon/off//设置xxxd服务在n状态下开启/关闭,在[]中如果省略则启用chkconfig--delxxxdatlevel2345//删除任务列表中的xxxd服务编辑rc.d文件也可以直接编辑/etc/rc.d/目录下的文件,实现开机自启动。该目录下有很多文件,rcn.d是启动状态为n时的启动文件夹,rc、rc.sysinit、init.d都是系统模块或系统设置的自启动文件[文件夹]。我们使用vimrc.local编辑rc.local文件来定制自己的自启动方案。命令非常简单,就像正常操作一样。例如/usr/local/apache/bin/apachectlstart表示apache服务器在开机后自动启动。at实现定时任务at是一个简单的定时任务程序,功能简单,只能执行一次性的定时任务,用法如下:#attime//ataddstimetostartatcommandat>operation//input待执行操作at>Ctrl+D//按Ctrl+D退出命令编辑其时间的常用形式如下atH:m??tomorrow//第二天H点m现在+n分钟/hours/days/weeks//在n分钟/小时/天/周后的午夜//Atmidnight=-=atH:m??pm/am//我们也可以在/var/spool/at中查看文件在当天上午/下午H:mpm/amat的当前命令。另外需要注意的是,atd进程在linux中默认是关闭的,需要手动开启。crontab实现定时任务。Linux内置的cron进程可以帮助我们满足这些需求。使用cron和shell脚本,非常复杂的指令没有问题。cron简介cron守护进程是一个由实用程序和配置文件组成的小型子系统。在几乎所有类UNIX系统上都可以找到某些风格的cron。我们可以使用psaux|grepcron来查找cron守护进程。我们经常使用crontab命令,它是crontable的缩写。是cron的配置文件,也可以叫做joblist。我们可以在以下文件夹中找到相关的配置文件。/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[-uusername]//省略用户表表示操作当前用户的crontab-e(编辑工作表)-l(列出工作表中的命令)-r(删除工作)我们使用crontab-e进入当前用户的工作表编辑器,这是一个普通的vim界面。每一行都是一个命令。crontab的命令由时间+动作组成,它的时间有分、时、日、月、周五。该运算符具有*值范围内的所有数字/每个数字的数字-从X到Z,散列数字下面是几个示例。时间注释002512*//12月25日0:00*/5****//每5分钟*4-6***//每天456点****2,5//每周二、周五配合简单的shell脚本。如果我们的命令有逻辑判断等非常复杂的操作,直接编辑crontab就有点困难了。这时候我们就可以使用shell脚本了。它的由来和分类定义与标题不符,就不多说了,就说说它的用法吧。我们使用vim/usr/sh/test.sh使用vim编辑一个shell脚本#!/bin/sh//declarestartshellscripta="helloworld"//定义一个shell变量echo$a//熟悉的echo,输出一个变量然后用crontab-e编辑crontab,添加*/5****/usr/sh/test.sh每五分钟运行一次test.sh脚本,或者使用/phppath/php/filepath/test.php使用php进程来执行php程序。如果您觉得这篇博文对您有帮助,可以推荐或关注我,谢谢。