首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
前言-常见的Linux系统分类
红帽系统认证介绍
第一章:安装虚拟机布署Linux系统
准备安装工具
安装配置VM虚拟机
安装Linux系统
重置root管理员密码
RPM(红帽软件包管理器)
Yum软件仓库
systemd初始化进程
第二章:新手必须掌握的Linux命令
强大而好用的shell
执行查看帮助命令
常用系统工作命令
系统状态检测命令
工作目录切换命令
文本文件编辑命令
文件目录管理命令
打包压缩与搜索命令
第三章:管道符、重定向与环境变量
输入输出重定向
管道命令符
命令行的通配符
常用的转义字符
重要的环境变量
第四章:Vim编辑器与Shell命令脚本
Vim文本编辑器
编写简单文档
编写Shell脚本
流程控制语句
计划任务服务程序
第五章:用户身份与文件权限
用户身份与能力
文件权限与归属
文件的特殊权限
文件的隐藏属性
文件访问控制列表
su命令与sudo服务
当前位置:
首页>>
技术小册>>
Linux应该怎么学(上)
小册名称:Linux应该怎么学(上)
经验丰富的系统运维工程师可以使得Linux在无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化。尽管我们现在已经有了功能彪悍的脚本程序来执行一些批处理工作,但是,如果仍然需要在每天凌晨两点敲击键盘回车键来执行这个脚本程序,这简直太痛苦了(当然,也可以训练您的小猫在半夜按下回车键)。接下来,刘遄老师将向大家讲解如何设置服务器的计划任务服务,把周期性、规律性的工作交给系统自动完成。 计划任务分为一次性计划任务与长期性计划任务,大家可以按照如下方式理解。 [插图] 一次性计划任务:今晚11点30分开启网站服务。 [插图] 长期性计划任务:每周一的凌晨3点25分把/home/wwwroot目录打包备份为backup.tar.gz。 顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求。我们可以用at命令实现这种功能,只需要写成“at时间”的形式就可以。如果想要查看已设置好但还未执行的一次性计划任务,可以使用“at -l”命令;要想将其删除,可以用“atrm任务序号”。在使用at命令来设置一次性计划任务时,默认采用的是交互式方法。例如,使用下述命令将系统设置为在今晚23:30分自动重启网站服务。 [root@linuxprobe ~]# at 23:30 at > systemctl restart httpd at > 此处请同时按下Ctrl + D组合键来结束编写计划任务 job 3 at Mon Apr 27 23:30:002017 [root@linuxprobe ~]# at -l 3 Mon Apr 27 23:30:002017 a root 如果读者想挑战一下难度更大但简捷性更高的方式,可以把前面学习的管道符(任意门)放到两条命令之间,让at命令接收前面echo命令的输出信息,以达到通过非交互式的方式创建计划一次性任务的目的。 [root@linuxprobe ~]# echo "systemctl restart httpd" | at 23:30 job 4 at Mon Apr 27 23:30:002017 [root@linuxprobe ~]# at -l 3 Mon Apr 27 23:30:002017 a root 4 Mon Apr 27 23:30:002017 a root 如果我们不小心设置了两个一次性计划任务,可以使用下面的命令轻松删除其中一个: [root@linuxprobe ~]# atrm 3 [root@linuxprobe ~]# at -l 4 Mon Apr 27 23:30:002017 a root 如果我们希望Linux系统能够周期性地、有规律地执行某些具体的任务,那么Linux系统中默认启用的crond服务简直再适合不过了。创建、编辑计划任务的命令为“crontab -e”,查看当前计划任务的命令为“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是以管理员的身份登录的系统,还可以在crontab命令中加上-u参数来编辑他人的计划任务。 在正式部署计划任务前,请先跟刘遄老师念一下口诀“分、时、日、月、星期 命假设在每周一、三、五的凌晨3点25分,都需要使用tar命令把某个网站的数据目录进行打包处理,使其作为一个备份文件。我们可以使用crontab -e命令来创建计划任务。为自己创建计划任务无需使用-u参数,具体的实现效果的参数如crontab -l命令结果所示: [root@linuxprobe ~]# crontab -e no crontab for root - using an empty one crontab: installing new crontab [root@linuxprobe ~]# crontab -l 25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot 需要说明的是,除了用逗号(,)来分别表示多个时间段,例如“8,9,12”表示8月、9月和12月。还可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“12-15”,则表示每月的12~15日)。以及用除号(/)表示执行任务的间隔时间(例如“/2”表示每隔2分钟执行一次任务)之外。 如果在crond服务中需要同时包含多条计划任务的命令语句,应每行仅写一条。例如我们再添加一条计划任务,它的功能是每周一至周五的凌晨1点钟自动清空/tmp目录内的所有文件。尤其需要注意的是,在crond服务的计划任务参数中,所有命令一定要用绝对路径的方式来写,如果不知道绝对路径,请用whereis命令进行查询,rm命令路径为下面输出信息中加粗部分。 [root@linuxprobe ~]# whereis rm rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz /usr/share/man/man1p/rm.1p.gz [root@linuxprobe ~]# crontab -e crontab: installing new crontab [root@linuxprobe ~]# crontab -l 25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot 0 1 * * 1-5 /usr/bin/rm -rf /tmp/* 在本节最后,刘遄老师再来啰嗦几句在工作中使用计划服务的注意事项。 [插图] 在crond服务的配置参数中,可以像Shell脚本那样以#号开头写上注释信息,这样在日后回顾这段命令代码时可以快速了解其功能、需求以及编写人员等重要信息。 [插图] 计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期”字段不能同时使用,否则就会发生冲突。 最后再啰嗦一句,想必读者也已经发现了,诸如crond在内的很多服务默认调用的是Vim编辑器,相信大家现在能进一步体会到在Linux系统中掌握Vim文本编辑器的好处了吧。所以请大家一定要在彻底掌握Vim编码器之后再学习下一章。
上一篇:
流程控制语句
下一篇:
第五章:用户身份与文件权限
该分类下的相关小册推荐:
LInux运维零基础入门到实战
Linux应该怎么学(下)
bash脚本编程实战
CentOS入门指南
Shell编程入门与实战
Vim实用技巧必知必会
Vim编辑器入门到实战
Linux应该怎么学(中)