linux 的计划任务 定时任务

linux的计划任务,也叫作定时任务

  1. 查看linux本机的定时任务

crontab -l #查看计划任务nginx

  1. 编写本身的计划任务

crontab -e #编辑计划任务shell

  1. 删除任务调度工做 crontab -r //删除全部任务调度工做vim

  2. 学习计划任务的语法格式centos

    分 时 日 月 周 命令绝对路径bash

    [root@mrcarzy-pc etc]# vim 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

    minute: 表示分钟,能够是从0到59之间的任何整数。centos7

    **hour:**表示小时,能够是从0到23之间的任何整数。spa

    **day:**表示日期,能够是从1到31之间的任何整数。

    **month:**表示月份,能够是从1到12之间的任何整数。

    **week:**表示星期几,能够是从0到7之间的任何整数,这里的0或7表明星期日。

    command:要执行的命令,能够是系统命令,也能够是本身编写的脚本文件。

    特殊字符:
    • 星号(*):表明每的意思,例如month字段若是是星号,则表示每个月都执行该命令操做。

    • 逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。

    • 中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。

    • 正斜线(/):能够用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线能够和星号一块儿使用,例如*/10,若是用在minute字段,表示每十分钟执行一次。

  • 每分钟执行一次命令

    分 时 日 月 周 命令绝对路径

    * * * * * 命令

  • 每小时的3,15分组执行命令

    分 时 日 月 周 命令绝对路径 3,15 * * * * 命令绝对路径

#在下午8-11点的第3和第15分钟执行
分      时     日 月 周  命令绝对路径
3,15    20-23   *  *  *  

#每晚21:30执行命令
分     时  日 月 周  命令绝对路径
30     21   *  *  *  

#每周6、日的下午1:30执行命令
分     时  日 月 周  命令绝对路径
30    13   *  *  6,7 

#每周一到周五的凌晨1点整,清空/tmp目录的全部文件
分     时  日 月 周  命令绝对路径
0     1    *   *   1-5  /usr/bin/rm   -rf /tmp/*

#每晚的21:30重启nginx
分     时  日 月 周  命令绝对路径
30    21   *  3  *    命令绝对路径

#每个月的1,10,22日的4:45重启nginx
分     时  日 月 周  命令绝对路径
45   4    1,10,22  *   *  systemctl reload nginx 

#每一个星期一的上午8点到11点的第3和15分钟执行命令
分     时  日 月 周  命令绝对路径
3,15   8-11  *  *  1
##每个月天天凌晨3点30分和中午12点20分执行test.sh脚本
30 3,12 * * *  /home/test.sh           

##每个月天天每隔6小时的每30分钟执行test.sh脚本
30 */6 * * *  /home/test.sh

##每个月天天早上8点到下午18点每隔2小时的每30分钟执行test.sh脚本
30 8-18/2 * * * /etc/init.d/network restart

##每个月天天晚上21点30分执行test.sh脚本
30 21 * * *  /etc/init.d/network restart

##每个月1号、10号、22号凌晨4点45分执行test.sh脚本
45 4 1,10,22 * * /etc/init.d/network restart

##8月份周1、周日凌晨1点10分执行test.sh脚本
10 1 * 8 6,0 /etc/init.d/network restart

##每个月天天每小时整点执行test.sh脚本
00 */1 * * *  /etc/init.d/network restart

linux系统服务管理命令

  • 系统服务(linux安装的软件名)

    只有经过yum安装的软件,才能用这个命令

    systemctl 这是centos7系类的命令

    service 这是centos6系统的服务管理命令

  • 实例:(只有yum安装的才能使用这个命令)

    • 启停管理nginx服务

    systemctl status/start/stop nginx

错误处理:

出现 there are stopped jobs 错误:

在shell中输入命令jobs能够查看中止进程列表

obs -l 显示中止进程的详细列表

能够经过以下命令杀死或者激活中止的进程:

杀死:kill %1(%1是将要被杀死的job的进程号)

激活:fg %1(%1是将要被激活的job的进程号)

​ fg表明foreground(前台),能够唤醒被suspended(挂起)的进程

相关文章
相关标签/搜索