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

10.23 linux任务计划cron

在Linux中,任务计划是必不可少的,让某条命令,脚本,在某个时间可以执行。进而减少人力值班

任务计划的配置文件

/etc/crontab
[root@aminglinux-02 ~]# 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)         //分(0到59)
# |  .------------- hour (0 - 23)               //时 (0到23)
# |  |  .---------- day of month (1 - 31)   //天   (1到31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...       //月  (1到12) 也支持英文
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat     //星期 (0到6) 0或7都是周日  也可支持英文
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed    //用户  ,不写用户默认是root+执行的命令

定义计划

crontab -e  //进入任务计划配置文件当中   ; *表示不设置

例:

0 3 * * *
表示每天的3点0分   
执行范围
例:
0 3 1-10 */2 2,5
每双数的月份的1号到10号的3点0分执行,周二和周五
*/2 表示 月份数字能被2整除的,将执行
指定某天,用 “,”逗号分隔

执行脚本 例:

/bin/bahs  /usr/local/sbin/123.sh

执行脚本 脚本所在 为了便于维护,可以做个记录日志

>> /tmp/123.log  2>>/tmp/123error.log

正确输出,将记录到123.log 日志里;错误输出,将记录到123error.log 日志里

查看任务计划

crontab -l

对应的用户的任务计划存放路径

/var/spool/cron/
root用户的就存放在 /var/spool/cron/root
user1用户的就存放在/var/spool/cron/user1

备份任务计划,只需把任务计划所在的目录拷贝一下即可

清除任务计划

crontab -r 

指定用户操作

crontab -u 

例:

crontab -u root -l

要想启动任务计划服务

systemctl start crond

确定任务计划服务启动

systemctl status crond
[root@aminglinux-02 ~]# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 五 2017-08-18 13:29:12 CST; 18min ago    //表示已经启动
Main PID: 500 (crond)
   CGroup: /system.slice/crond.service
           └─500 /usr/sbin/crond -n
8月 18 13:29:12 aminglinux-02 systemd[1]: Started Command Scheduler.
8月 18 13:29:12 aminglinux-02 systemd[1]: Starting Command Scheduler...
8月 18 13:29:12 aminglinux-02 crond[500]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 36% if used.)
8月 18 13:29:12 aminglinux-02 crond[500]: (CRON) INFO (running with inotify support)

任务计划没有执行,可能导致的原因是脚本的里面没有使用绝对路径

10.24 chkconfig工具

Linux系统服务管理-chkconfig
在centos 6 包含6之前的版本使用的管理服务的机制教 SysV,7以后使用的机制是systemd
chkconfig 下的服务,需要有服务的脚本
所在的路径为

/etc/init.d

查看目前运行的SysV的服务

chfconfig --list

是否开机启动

chkconfig 服务名 off/on

例:

chkconfig nginx on 

默认是在2、3、4、5级别设置

运行级别
0   关机状态
1   单用户
2   多用户模式 (没有nfs服务,没有无图形服务)
3   多用户模式(无图形)
4   保留
5   多用户 (带有图形服务)
6   重启状态

修改默认开机级别(7版本,不适用)

/etc/inittab/

指定级别是否开机启动

chkconfig --level 3 nginx off

3级别开机不启动

将服务加入到开机启动

chkconfig --add 123
  1. 启动脚本,必须在“/etc/init.d”路径下
  2. 必须是一个启动脚本

删除开启启动

chkconfig --del 123

10.25 systemd管理服务

systemd 是centos 7 的系统服务管理的机制

列出所有的service 服务

systemctl list-units --all --type=service
systemctl enable crond.service //让服务开机启动
[root@aminglinux-02 ~]# systemctl enable crond
[root@aminglinux-02 ~]# ls -l /etc/systemd/system/multi-user.target.wants/crond.service
lrwxrwxrwx 1 root root 37 8月  18 14:29 /etc/systemd/system/multi-user.target.wants/crond.service -> /usr/lib/systemd/system/crond.service

开启启动,是将服务的文件“/usr/lib/systemd/system/crond.service”创建一个软链接到“/etc/systemd/system/multi-user.target.wants/crond.service”;

systemctl disable crond //不让开机启动
[root@aminglinux-02 ~]# systemctl disable crond
Removed symlink /etc/systemd/system/multi-user.target.wants/crond.service.
[root@aminglinux-02 ~]# ls -l /etc/systemd/system/multi-user.target.wants/crond.service

ls: 无法访问/etc/systemd/system/multi-user.target.wants/crond.service: 没有那个文件或目录

关闭启动,是将之前创建的软链接移除

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

10.26 unit介绍

ls /usr/lib/systemd/system //系统所有unit,分为以下类型 类型|描述 ---|--- service | 系统服务 target | 多个unit组成的组 device | 硬件设备 mount | 文件系统挂载点 automount | 自动挂载点 path | 文件或路径 scope | 不是由systemd启动的外部进程 slice | 进程组 snapshot | systemd 快照 socket | 进程间通信套接字 swap | swap文件 timer | 定时器

unit相关命令

列出正在运行的unit

systemctl list-units 

列出所有,包括失败的或者inactive的

systemctl list-units --all 

列出inactive的unit

systemctl list-units --all --state=inactive 

列出状态为active的service

systemctl list-units --type=service

查看某个服务是否为active

systemct is-active crond.service

查看某个服务是否为enadled

systemct is-enadled crond.service 

10.27 target介绍

系统为了方便管理用target来管理unit

systemctl list-unit-files --type=target

查看指定target下面有哪些unit

systemctl list-dependencies multi-user.target 

查看系统默认的target

systemctl get-default 

设置系统默认的target

systemctl set-default multi-user.target  

一个service属于一种类型的unit

多个unit组成了一个target

一个target里面包含了多个service

查看service属于哪个target

cat /usr/lib/systemd/system/sshd.service //看[install]部分

总结: 系统systemd这个管理机制,由多种unit组成,为了方便管理,就把它归类若干个类,每个类别称为一个target;target是由多个unit组成的,service 属于一种类型的unit,一个target里面包含了若干个service。

转载于:https://my.oschina.net/nova12315/blog/1649581

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值