码迷,mamicode.com
首页 > 其他好文 > 详细

计划任务及服务管理

时间:2018-05-12 10:24:47      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:计划任务   服务管理   systemd   

Linux任务计划
  • 任务计划的配置文件及详解
    [root@akuilinux02 ~]# cat /etc/crontab 
    SHELL=/bin/bash  ##定义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   再加上用户和命令
  • 制定任务计划的格式
    • 分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-6
    • 格式1,2,3表示1或者2或者3
    • 格式*/2表示被2整除的数字,比如小时就是每隔2小时
      [root@akuilinux02 ~]# crontab -e
      no crontab for root - using an empty one
      0 3 * * * /bin/bash /usr/local/sbin/123.sh >/tmp/123.log 2>/tmp/123.log  ##每天的三点,这里的命令要写绝对路径
      0 3 1-10 */2 2,5 /bin/bash /usr/local/sbin/123.sh >/tmp/123.log 2>/tmp/123.log ##1-10号的3点,每两个月(双月),周2和周五
  • 制定任务计划的条件
    • 启动服务crond
      [root@akuilinux02 ~]# systemctl start crond
      [root@akuilinux02 ~]# ps aux |grep crond
      root       587  0.0  0.0 126264  1644 ?        Ss   08:40   0:00 /usr/sbin/crond -n
      root      1321  0.0  0.0 112680   984 pts/0    S+   09:10   0:00 grep --color=auto crond
      [root@akuilinux02 ~]# systemctl status crond
      ● crond.service - Command Scheduler
      Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
      Active: active (running) since 六 2018-05-12 08:40:05 CST; 32min ago
    • 遵照格式编写,命令要写绝对路径,要输出到日志文件
    • crontab命令
    • crontab -e编写任务计划
    • crontab -r删除任务计划
    • crontab -l查看任务计划
    • crontab -u root -l指定用户
    • /var/spool/cron/root任务计划的保存文件,用户名为用户的文件
      [root@akuilinux02 ~]# crontab -e
      crontab: installing new crontab
      [root@akuilinux02 ~]# crontab -l
      1 10 * 2 * /usr/bin/find /tmp/ -type f -mtime +100 |xargs rm -f
      [root@akuilinux02 ~]# cat /var/spool/cron/root 
      1 10 * 2 * /usr/bin/find /tmp/ -type f -mtime +100 |xargs rm -f
      [root@akuilinux02 ~]# crontab -r
      [root@akuilinux02 ~]# crontab -l -u root
      no crontab for root

      系统服务管理chkconfig

  • 7以前的版本使用的,管理的服务称为SysV服务,7以后为systemd服务
    [root@akuilinux02 ~]# chkconfig --list
    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。 
      要列出 systemd 服务,请执行 ‘systemctl list-unit-files‘。
      查看在具体 target 启用的服务请执行
      ‘systemctl list-dependencies [target]‘。
    netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关
    network         0:关 1:关 2:开 3:开 4:开 5:开 6:关
  • 服务所在的目录
    [root@akuilinux02 ~]# ls /etc/init.d/
    functions  netconsole  network  README
  • chkconfig --list列出服务状态
  • chkconfig network on 开启服务开机启动
    • 开启的为默认级别启动
  • chkconfig --level 345 network off指定级别
  • 自定义启动脚本并开机启动
    
    [root@akuilinux02 ~]# cp /etc/init.d/network /etc/init.d/123
    [root@akuilinux02 ~]# ls /etc/init.d/
    123  functions  netconsole  network  README
    [root@akuilinux02 ~]# chkconfig --add 123
    [root@akuilinux02 ~]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。

  要列出 systemd 服务,请执行 ‘systemctl list-unit-files‘。
  查看在具体 target 启用的服务请执行
  ‘systemctl list-dependencies [target]‘。

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


- chkconfig --del 123删除服务
# 系统服务管理systemd
- 列出服务
  - systemctl list-unit-files列出所有的服务及服务状态
  - systemctl list-units --all --type=service列出所有service服务包括了未激活和激活的,去掉--all就不会列出未激活的
- 控制服务启动命令
  - 

计划任务及服务管理

标签:计划任务   服务管理   systemd   

原文地址:http://blog.51cto.com/akui2521/2115445

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!