Linux系统任务计划和系统服务管理

一、Linux系统的任务计划

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
关于cron任务计划功能的操作都是通过crontab这个命令来完成的。
常用的选项有:

-u :指定某个用户,不加-u选项则为当前用户;
-e :制定计划任务;
-l :列出计划任务;
-r :删除计划任务。

实例:
1、创建一个计划任务:

[[email protected] ~]# crontab -e
no crontab for root - using an empty one

使用 crontab -e 来进行编写任务计划,这实际上是使用vim工具打开了crontab的配置文件,我们写下如下内容:

01 10 05 02 1 echo "OK" > /root/crob.log

每个字段的数字从左到右分别表示为:分,时,日,月,周,命令行。而上面的例子的含义是:在2月5日(这一天必须是星期1)的10点01分执行命令echo "ok" > /root/cron.log
这是的时间范围是:

1、分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-7
2、可用格式1-5表示一个范围1到5
3、可用格式1,2,3,表示1或者2或者3
4、可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

crontab -e 实际上是打开了 /var/spool/cron/username (如果是root则打开的是/var/spool/cron/root)这个文件。使用的是vim编辑器,所以要保存的话则在命令模式下输入:wq即可。但是,你千万不要直接去编辑那个文件,因为可能会出错,所以一定要使用crontab -e来编辑。
2、查看已经设定的任务计划:

[[email protected] ~]# crontab -l
01 10 05 02 1 echo "OK" > /root/cron.log

3、保证crond服务的启动:

[[email protected] ~]# ps aux | grep crond     //查看crond启动状态
root        535  0.0  0.0 126264  1640 ?        Ss   1月25   0:01 /usr/sbin/crond -n
root       9166  0.0  0.0 112676   976 pts/0    R+   16:28   0:00 grep --color=auto cron
[[email protected] ~]# systemctl stop crond.service      //停止crond服务
[[email protected] ~]# ps aux | grep cron
root       9183  0.0  0.0 112676   972 pts/0    R+   16:29   0:00 grep --color=auto cron
[[email protected] ~]# systemctl start crond.service     //开始crond服务
[[email protected] ~]# ps aux | grep cron
root       9193  0.0  0.0 126232  1580 ?        Ss   16:29   0:00 /usr/sbin/crond -n
root       9195  0.0  0.0 112676   976 pts/0    S+   16:29   0:00 grep --color=auto cron

二、Linux系统服务管理

1、chkconfig服务管理工具

chkconfig命令检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
chkconfig主要用于CentOS6,Linux系统所有预设服务都可以通过查看/etc/init.d/目录:

只能看到几个文件,因为CentOS7不再延续6的服务管理方案,但是依然可以使用这个命令。
命令实例:

 chkconfig --list         //列出所有的服务来及每级别开启状态
 chkconfig --level 3 network off      //network服务3级别关闭
 chkconfig --level 345 network off     //network服务345级别奢望i关闭
 chkconfig --del network    //删除服务
 chkconfig --add network   //增加服务

等级代号含义:

等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动

2、systemd服务管理

systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。首先列出所有系统服务:

systemctl list-units --all --type=service

这些服务的对应的脚本文件在/usr/lib/systemd/system/目录下。
几个常用服务相关的命令:

systemctl enable crond.service    //让服务开机启动
systemctl disable crond    //不让开机启动
systemctl status crond     //查看状态
systemctl stop crond       //停止服务
systemctl start crond      //启动服务
systemctl restart crond   //重启服务
systemctl is-enabled crond     //检查服务是否开机启动

1、unit

ls /usr/lib/systemd/system //系统所有unit

unit类型:

service: 系统服务
target: 多个unit组成的组
device: 硬件设备
mount: 文件系统挂载点
automount: 自动挂载点
path: 文件或路径
scope: 不是由systemd 启动的外部进程
slice: 进程组
snapshot: systemd快照
socket: 进程间通信套接字
swap: swap文件
timer: 定时器

以上每种类型的文件都为一个unit,正是这些unit才组成了系统的各个资源。
与unit相关的命令:

systemctl list-units   //列出正在运行的unit
systemctl list-units --all   //列出所有,包括失败的或者inactive的
systemctl list-units --all --state=inactive   //列出inactive的unit
systemctl list-units --type=service   //列出状态为active的service
systemctl is-active crond.service    //查看某个服务是否为active

2、target

系统为了方便管理用target来管理unit。
几个关于target的命令:

systemctl list-unit-files --type=target   //查看所有target
systemctl list-dependencies multi-usrt.target //查看指定target下面有哪些unit
systemctl get-default //查看系统默认的target
systemctl set-default multi-user.target   //设置默认target

service、unit和target之间的关系:

1、一个service属于一种类型的unit
2、多个unit组成了一个target
3一个target里面包含了多个service,可以查看 /usr/lib/systemd/system/sshd.service看[install]部分,定义了该属于那个target

原文地址:http://blog.51cto.com/3069201/2066466

时间: 2024-10-09 21:32:50

Linux系统任务计划和系统服务管理的相关文章

linux任务计划、 系统服务管理工具chkconfig、systemd

linux任务计划 系统服务管理工具chkconfig 系统服务管理工具systemd 原文地址:http://blog.51cto.com/13515599/2069079

三十四、Linux系统任务计划cron、chkconfig工具、systemd管理服务、unit介绍

三十四.Linux系统任务计划cron.chkconfig工具.systemd管理服务.unit介绍.target介绍 一.Linux系统任务计划cron crontab命令:对任务计划功能的操作用此命令.选项: -u:指定某个用户,不加-u则为当前用户. -e:制定任务计划. -l:列出任务计划. -r:删除任务计划. 任务计划的配置文件:/etc/crontab 文件内共有五个字段. 从左往右依次为:分.时.日.月.周.用户.命令. 可以不指定用户就是root. # crontab -e  

Linux学习总结(二十七)任务计划,系统服务管理

1 任务计划 说白了就是运行命令或者脚本的一个定时器,他可以让我们在休息时间自动给我们执行任相关任务.来看下它的配置文件:cat /etc/crontab第一行定义了 shell环境第二行定义 环境变量第三行定义了发邮件给root用户,邮件保存路径为/var/spool/mail/root/最后定义了任务内容的格式,从左到右依次为:分 时 日 月 周 命令分钟:0-59小时:0-23日期:1-31月份:1-12周:0-7 0,7都表示星期天可以指定一个范围:比如1-5 周一到周五, 也可以单独指

Linux系统任务计划(at、crontab)的使用方法

Linux上的任务计划: 任务计划: 在未来时间点一次性执行某任务:at, batch 周期性执行某任务:crontab 电子邮件服务: smtp:simple mail transmission protocol /var/spool/mail/USERNAME  邮件目录 pop3:post office protocol   pop弹出 ,从服务器上下载邮件 imap4:internet mail access protocol  类似POP3,功能更强 MUA:mail命令 mail命令

10.23 linux任务计划cron10.24chkconfig工具10.25 systemd管理服务10.26 unit介绍 10.27 target介绍

- 10.23 linux任务计划cron - 10.24 chkconfig工具 - 10.25 systemd管理服务 - 10.26 unit介绍 - 10.27 target介绍 - 扩展 1. anacron http://blog.csdn.net/strikers1982/article/details/4787226  2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_46

linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、target介绍

linux任务计划cron [[email protected] ~]# crontab -e no crontab for root - using an empty one 每天的凌晨3点 执行这个 0 3 * * * /usr/bin/touch /root/123.txt &>/dev/null 启动服务 [[email protected] ~]# systemctl start crond 基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟

linux系统服务管理

一.linux的任务计划 1.crontab -u.-e.-l.-r 2.格式: 分时日月周user command 3.文件/ar/spool/cron/usemname 4.分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-6 5.可用格式1-5表示一个范围1到5 6.可用格式1,2,3表示1或者2或者3 7.可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时 8要保证服务是启动状态 systemctlstartcrond.service 二.Linux系统服务

linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍和targe

一. linux任务计划cron 关于cron任务计划功能的操作都是通过crontab这个命令来完成的. 其中常用的选项有: -u :指定某个用户,不加-u选项则为当前用户: /etc/crontab 任务计划的配置文件 前面两行是定义变量,第三行是指发送邮件给谁,然后最后一行有五个点分别对应着五个位,也就是上面的五行,分别表示:1.表示分钟(0-59)2.表示小时(0-23)3.表示日期(1-31)4.表示月份(1-12可以写数字或者英文的简写)5.表示星期(0-6,0或者7表示周日,也可以写

Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍

一.linux任务计划cron crontab -u  -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-6 可用格式1-5表示一个范围1到5 可用格式1,2,3表示1或2或3 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时 启动 systemctl etop crond停止 systemctl start crond.service  二