linux-linux系统中定时执行shell脚本-实例-亲测有效

一、定时执行shell.sh脚本


1、环境描述:在 /home/software/shellfile 目录下,本人编写有shell.sh脚本,

2、手动执行命令:sh /home/software/shellfile/shell.sh>> /home/software/shellfile/test.log

                       或 :sh /home/software/shellfile/shell.sh> /home/software/shellfile/test.log

3、注意:其中“>> ”符号表示打印执行日志到test.log文件,如果/home/software/shellfile该目录下存在该文件,不会覆盖原来存在的test.log文件,其中“> ”符号表示覆盖打印执行日志到test.log文件,如果/home/software/shellfile该目录下存在该文件,则覆盖打印最新的日志。(推荐使用第二种)

4、定时(中午1点10分执行)任务执行语句sh /home/software/shellfile/shell.sh>> /home/software/shellfile/test.log
      注意:该内容保存在etc目录的crontab文件里面,必须是这个文件,若想定时执行多个shell脚本,只需要加入执行语句即可。对文件内容编辑如下:

[root@    ~]# vi /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
    10  1  *  *  * root sh /home/software/shellfile/shell01.sh> /home/software/shellfile/test1.log 
    30  2  *  *  * root sh /home/software/shellfile/shell02.sh> /home/software/shellfile/test2.log 
    15  3  *  *  * root sh /home/software/shellfile/shell03.sh> /home/software/shellfile/test3.log

crontab内容表示

    10  1  *  *  * root sh /home/software/shellfile/shell01.sh> /home/software/shellfile/test1.log   在凌晨1:10执行该shell01.sh脚本并打印日志到test1.log文件
    30  2  *  *  * root sh /home/software/shellfile/shell02.sh> /home/software/shellfile/test2.log   在凌晨2:30执行该shell02.sh脚本并打印日志到test2.log文件
    15  3  *  *  * root sh /home/software/shellfile/shell03.sh> /home/software/shellfile/test3.log   在凌晨3:15执行该shell03.sh脚本并打印日志到test3.log文件

4、保存之后,执行定时任务运行命令:service crond reload   

[root@  etc]# service crond reload

5、备注说明:   

    # .---------------- 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

下面的6个*分别代表:分钟、小时、天数、月份、 周几

猜你喜欢

转载自blog.csdn.net/weixin_47055922/article/details/109029145