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

linux任务计划cron(定时任务)

cron选项 

  •  -l 在标准输出上显示当前的crontab。 
  •  -r 删除当前的crontab文件。 
  •  -u 执定一个用户 (crontab -u root -l)
  •  -e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。 

cron在3个地方查找配置文件:

1 /var/spool/cron/ 这个目录下存放的是每一个用户包括root的crontab任务,每一个任务以建立者的名字命名,好比tom建的crontab任务对应的文件就是/var/spool/cron/tom。通常一个用户最多只有一个crontab文件。linux

root用户的cron,centos

2 /etc/crontabbash

  • PATH 命令的路径
  • MAILTO 是说,当 /etc/crontab 这个档案中的例行性命令发生错误时,会将错误讯息或者是屏幕显示的讯息传给谁?因为 root 并没有法再用户端收信,所以,我一般都將这个 e-mail 改为本身的帐号,好让我随时了解系统的状态!
[root@glinux-01 ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)     /分钟
# |  .------------- hour (0 - 23)       /小时
# |  |  .---------- day of month (1 - 31)  /日期
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...   /月
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  /星期
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
                用户(默认是root)   执行的命令

格式:分,时,日,月,周  (*)表明全部ssh

备份任务直接复制配置文件。socket

用法:crontab -e 进入定时任务编辑界面

0 3 * * 1  /user/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log
每日3点 和星期一执行此脚本
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,
由于cron把任何输出都email到root的信箱了。
42 4 1 * * root run-parts /etc/cron.monthly 
每个月去执行/etc/cron.monthly内的脚本 
注意: "run-parts"这个参数了,若是去掉这个参数的话,后面就能够写要运行的某个脚本名,而不是文件夹名。 
0 4-6 1,2 * * /user/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log
每个月1,2日的4到6点执行脚本

 问题:这个星期跟前面日月时的关系?指定日期不是指定星期全执行?编辑器

星期用来肯定哪一年执行。工具

crontab服务

  •   systemctl start crond    //启动服务
  •   systemctl stop crond      //关闭服务
  •   systemctl restart crond  //重启服务
  •   systemctl reload crond    //从新载入配置
  •   systemctl status  crond //查看服务状态 

 查看状态,绿色running表明启动,dead表明没启动centos7

 

注意:写任务计划时,写绝对路径,以防未执行。spa

正确错误输出写入到文件里rest

 

chkconfig系统服务管理工具

centos6和以前的版本使用的chkconfig

--list 查看全部服务

centos6 用的是sysV 服务 centos7 是systemd服务

ls /etc/init.d (列出服务的脚本)


--off 关闭服务

chkconfig --level 3 network off 关闭network3级别
chkconfig --level 345 network off

添加服务与删除服务

添加服务,需将服务脚本放在/etc/init.d 下

在运行chkconfig --add [服务名]

删除chkconfig --del [服务名]


systemd管理服务

contos7使用的systemd

systemctl list-units-files查看全部服务(包括target,socket)

systemctl list-units --all --type=service查看全部服务server(空格键下翻)

unit介绍

咱们这是服务开机启动时,会提示一个路径,这个路径下显示系统全部unit

ls /usr/lib/systemed/system

unit 相关命令

target介绍

cat /usr/lib/systemd/system/sshd.service //看install部分,就知道属于哪一个target

相关文章
相关标签/搜索