linux任务计划、chkconfig,systemctl介绍及常用命令 ,unit和target介绍

10月30日任务
10.23 linux任务计划cron
10.24 chkconfig工具
10.25 systemd管理服务
10.26 unit介绍
10.27 target介绍
 
 
10.23 linux任务计划cron
  • crontab -u 、-e、-l  、 -r
  • 格式:分 时 日 月 周  user command
  • 分范围0-59 ,时范围0-23 ,日范围 0-31 ,月范围0-12 ,周1-6
  • 可用格式1-5表示一个范围1到5
  • 可用格式1,2,3表示1或者2或者3
  • 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时
  • 要保证服务是启动状态
  • systemctl start crond.service
 #任务计划的配置文件
[[email protected] ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/
 
# 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
#crontab -e 定义一个任务计划0 3 * * * /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>tmp/123.log
[[email protected] ~]crontab -e
linux任务计划、chkconfig,systemctl介绍及常用命令 ,unit和target介绍
linux任务计划、chkconfig,systemctl介绍及常用命令 ,unit和target介绍
要想让任务生效,需要执行systemctl start crond 命令,因为本地系统是centos 6不支持systemctl 。
[[email protected] ~]# service  crond start
[[email protected] ~]# ps aux |grep cron
root      1201  0.0  0.1 116908  1304 ?        Ss   Oct16   0:04 crond
root     19782  0.0  0.0 103312   880 pts/0    S+   12:24   0:00 grep --color=auto cron
[[email protected] ~]# service crond status
crond (pid  1201) is running...
 
 
10.24 chkconfig工具
Linux系统服务管理-chkconfig
  • chkconfig --list
  • chkconfig --level 3 network off
  • chkconfig --level 345 network off
  • chkconfig --del network
  • chkconfig --add network
 
 
[[email protected] ~]# chkconfig --list


Note: This output shows SysV services only and does not include native

      systemd services. SysV configuration data might be overridden by native

      systemd configuration.


      If you want to list systemd services use 'systemctl list-unit-files'.

      To see services enabled on particular target use

      'systemctl list-dependencies [target]'.


aegis              0:off    1:off    2:on    3:on    4:on    5:on    6:off

agentwatch         0:off    1:off    2:on    3:on    4:on    5:on    6:off

netconsole         0:off    1:off    2:off    3:off    4:off    5:off    6:off

network            0:off    1:off    2:on    3:on    4:on    5:on    6:off

[[email protected] ~]# LANG="zh_CN.UTF-8"

[[email protected] ~]# chkconfig --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:开    3:开    4:开    5:开    6:关

[[email protected] ~]# chkconfig network off

[[email protected] ~]# chkconfig --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:关    3:关    4:关    5:关    6:关


[[email protected] ~]# chkconfig network on

[[email protected] ~]# chkconfig --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:开    3:开    4:开    5:开    6:关

[[email protected] ~]# chkconfig --level 3 network off

[[email protected] ~]# chkconfig --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:开    3:关    4:开    5:开    6:关
#添加和删除一个服务,必须要进入/etc/init.d/这个目录。
[[email protected] ~]# cd /etc/init.d/

[[email protected] init.d]# ls

aegis  agentwatch  functions  netconsole  network  README

[[email protected] init.d]# cp network 123

[[email protected] init.d]# ls

123  aegis  agentwatch  functions  netconsole  network  README

[[email protected] init.d]# chkconfig --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:开    3:关    4:开    5:开    6:关

[[email protected] init.d]# chkconfig --add 123

[[email protected] init.d]# chkconfig --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


123                0:关    1:关    2:开    3:开    4:开    5:开    6:关

aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:开    3:关    4:开    5:开    6:关

[[email protected] init.d]# chkconfig --del 123

[[email protected] init.d]# chkconfig  --list


注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。


      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。


aegis              0:关    1:关    2:开    3:开    4:开    5:开    6:关

agentwatch         0:关    1:关    2:开    3:开    4:开    5:开    6:关

netconsole         0:关    1:关    2:关    3:关    4:关    5:关    6:关

network            0:关    1:关    2:开    3:关    4:开    5:开    6:关
 
10.25 systemd管理服务
  • systemctl list-units --all --type=service //列出所有的服务类型为service
  • 几个常用的服务相关的命令
  • systemctl enable crond.servuce  //让服务开机启动
  • systemctl disable crond   //不让开机启动
  • systemctl status crond    //查看状态
  • systemctl stop crond    //停止服务
  • systemctl start crond    //启动服务
  • systemctl restart crond   //重启服务
  • systemctl is-enabled crond   //检查服务是否开机启动
 
 
[[email protected] ~]# systemctl enable crond

[[email protected] ~]# systemctl status crond

● crond.service - Command Scheduler

   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)

   Active: inactive (dead)


10月 30 13:51:43 zgxlinux-aliyun systemd[1]: Started Command Scheduler.

10月 30 13:51:43 zgxlinux-aliyun systemd[1]: Starting Command Scheduler...

10月 30 13:51:43 zgxlinux-aliyun crond[470]: (CRON) INFO (RANDOM_DELAY will be...)

10月 30 13:51:43 zgxlinux-aliyun crond[470]: (CRON) INFO (running with inotify...)

10月 30 15:02:40 zgxlinux-aliyun systemd[1]: Stopping Command Scheduler...

10月 30 15:02:40 zgxlinux-aliyun systemd[1]: Stopped Command Scheduler.

Hint: Some lines were ellipsized, use -l to show in full.

[[email protected] ~]# systemctl enable crond.servuce

Failed to execute operation: No such file or directory

[[email protected] ~]# systemctl disable crond

Removed symlink /etc/systemd/system/multi-user.target.wants/crond.service.

[[email protected] ~]# systemctl status crond

● crond.service - Command Scheduler

   Loaded: loaded (/usr/lib/systemd/system/crond.service; disabled; vendor preset: enabled)

   Active: inactive (dead)


10月 30 13:51:43 zgxlinux-aliyun systemd[1]: Started Command Scheduler.

10月 30 13:51:43 zgxlinux-aliyun systemd[1]: Starting Command Scheduler...

10月 30 13:51:43 zgxlinux-aliyun crond[470]: (CRON) INFO (RANDOM_DELAY will be...)

10月 30 13:51:43 zgxlinux-aliyun crond[470]: (CRON) INFO (running with inotify...)

10月 30 15:02:40 zgxlinux-aliyun systemd[1]: Stopping Command Scheduler...

10月 30 15:02:40 zgxlinux-aliyun systemd[1]: Stopped Command Scheduler.

Hint: Some lines were ellipsized, use -l to show in full.

[[email protected] ~]# systemctl enable crond

Created symlink from /etc/systemd/system/multi-user.target.wants/crond.service to /usr/lib/systemd/system/crond.service.

[[email protected] ~]# systemctl enable crond

[[email protected] ~]# systemctl disable crond

Removed symlink /etc/systemd/system/multi-user.target.wants/crond.service.

[[email protected] ~]# systemctl status crond

● crond.service - Command Scheduler

   Loaded: loaded (/usr/lib/systemd/system/crond.service; disabled; vendor preset: enabled)

   Active: inactive (dead)


10月 30 13:51:43 zgxlinux-aliyun systemd[1]: Started Command Scheduler.

10月 30 13:51:43 zgxlinux-aliyun systemd[1]: Starting Command Scheduler...

10月 30 13:51:43 zgxlinux-aliyun crond[470]: (CRON) INFO (RANDOM_DELAY will be...)

10月 30 13:51:43 zgxlinux-aliyun crond[470]: (CRON) INFO (running with inotify...)

10月 30 15:02:40 zgxlinux-aliyun systemd[1]: Stopping Command Scheduler...

10月 30 15:02:40 zgxlinux-aliyun systemd[1]: Stopped Command Scheduler.

Hint: Some lines were ellipsized, use -l to show in full.

[[email protected] ~]# systemctl stop

Too few arguments.

[[email protected] ~]# systemctl is-enabled crond

disabled

[[email protected] ~]# systemctl enable crond

Created symlink from /etc/systemd/system/multi-user.target.wants/crond.service to /usr/lib/systemd/system/crond.service.

[[email protected] ~]# systemctl is-enabled crond

enabled
 
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相关的命令
  • 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
 
 
10.27 target介绍
  • 系统为了方便管理用target管理unit
  • systemctl list-unit-files --type=target
  • systemctl list-dependencies multi-user.target   //查看制定target下面有哪些unit
  • systemctl get-default   //查看系统默认的target
  • systemctl set-default multi-user.target
  • 一个service属于一种类型的unit
  • 多个unit组成了一个target
  • 一个target里面包含了多个service
  • cat /usr/lib/systemd/system/sshd.service   //看[install]部分

转载于:https://my.oschina.net/u/3959708/blog/2254871