精华内容
下载资源
问答
  • # 查看cornd状态 ...# shell脚本给与执行权限 [root@iZwz93e3cxesxun8e2ti7rZ app]# chmod 777 test.sh # crontab crontab #service crond start # cat /home/test.log
    # 查看cornd状态
    [root@iZwz93e3cxesxun8e2ti7rZ home]# /sbin/service crond status
    Redirecting to /bin/systemctl status  crond.service
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active (running) since Tue 2017-07-04 18:17:19 CST; 9min ago
     Main PID: 24661 (crond)
       CGroup: /system.slice/crond.service
               └─24661 /usr/sbin/crond -n
    

    #建立crontab文件

    [root@iZwz93e3cxesxun8e2ti7rZ app]# cat crontab
    */1 * * * * /app/test.sh >> "/home/test.log"  
    #建立shell脚本
    [root@iZwz93e3cxesxun8e2ti7rZ app]# cat test.sh
    #! /bin/sh
    echo "11111111111111111111111111111"
    

    # shell脚本给与执行权限

    [root@iZwz93e3cxesxun8e2ti7rZ app]# chmod 777 test.sh
    


    # crontab crontab


    #service crond start

    # cat /home/test.log



    展开全文
  • linux定时任务执行python脚本失败原因

    千次阅读 2019-04-20 14:39:09
    linux定时任务执行python脚本失败原因 环境:centos7 python3 定时任务详解 crontab 命令 -u :只有 root 才有权限执行这个任务,也就是帮其他使用者创建/移除 crontab 定时任务 -e :编辑 crontab 的内容 -l :显示...

    linux定时任务执行python脚本失败原因

    环境:centos7 python3

    定时任务详解

    crontab 命令

    -u :只有 root 才有权限执行这个任务,也就是帮其他使用者创建/移除 crontab 定时任务

    -e :编辑 crontab 的内容

    -l :显示 crontab 的内容

    -r :移除所有 crontab 的内容,若仅要移除某一项,请用 -e 编辑

    时间格式:分钟 小时 日期 月份 周 命令

    数字范围: 0-59 0-23 1-31 1-12 0-7 echo “hello” >> abc.log

    特殊字符的含义

    *(星号) 代表任何时刻都接受。

    ,(逗号) 代表分隔时段的意思。

    -(减号) 代表一段时间范围内。

    /n(斜线) 那个 n 代表数字,每隔 n 单位间隔。

    链接: crontab命令详解参考

    定时任务执行python脚本不执行原因:

    30 8 * * * python3 /home/lino/xxx.py
    

    单独执行定时任务时候没有问题,单独执行python脚本没有问题,此定时任务不执行原因是因为python路径要写绝对路径
    首先在linux上执行命令:

    whereis python3
    

    在这里插入图片描述

    30 8 * * * /usr/local/bin/python3 /home/lino/xxx.py
    

    这样便解决了不执行原因

    展开全文
  • Linux 执行定时任务 shell脚本

    万次阅读 2017-12-26 11:08:32
    Linux上面执行定时任务,我们可以利用crontab -e直接编辑定时任务 另外我们还可以写好shell脚本,定时去执行shell脚本,这两个方法都可以起到定时执行的作用 下面我详细说一下入如何执行shell脚本 1.声明一下我...

    Linux上面执行定时任务,我们可以利用crontab -e直接编辑定时任务 另外我们还可以写好shell脚本,定时去执行shell脚本,这两个方法都可以起到定时执行的作用

    下面我详细说一下入如何执行shell脚本

    1.声明一下我安装的lnmp环境,shell脚本存放的位置在 /usr/local/sbin路径下面

    新建一个test.sh

    #! /bin/bash  
    echo "yes" >> /home/abc.txt
    
    保存完毕后记得给予权限 chmod 777 test.sh

    Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后您发现了.sh为后缀的文件那么它可能是一个shell脚本了。test.sh中第一行要以 “#! /bin/bash” 开头,它代表的意思是,该文件使用的是bash语法。如果不设置该行,虽然您的shell脚本也可以执行,但是这不符合规范。 # 表示注释,在前面讲过的。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。当然这些注释并非必须的,如果您懒的很,可以省略掉,但是不建议省略。因为随着工作时间的逐渐过渡,您写的shell脚本也会越来越多,如果有一天您回头查看自己写过的某个脚本时,很有可能忘记该脚本是用来干什么的以及什么时候写的。所以写上注释是有必要的。另外系统管理员并非只有您一个,如果是其他管理员查看您的脚本,他看不懂岂不是很郁闷。下面该运行一下这个脚本了:

    2.将shell脚本加入定时任务

    crontab -e

    * * * * * /usr/local/sbin/test.sh
    
    

    参  数:
    -e  编辑该用户的计时器设置。
    -l  列出该用户的计时器设置。
    -r  删除该用户的计时器设置。
    -u<用户名称>  指定要设定计时器的用户名称。

    crontab 格式:

    分钟   小时   日   月   星期   命令

    *        *      *    *     *       *

    第1列表示分钟1~59 每分钟用*或者 */1表示
    第2列表示小时1~23(0表示0点)
    第3列表示日期1~31
    第4列 表示月份1~12
    第5列标识号星期0~6(0表示星期天)
    第6列要运行的命令

    记住几个特殊符号的含义:
    “*”代表取值范围内的数字,
    “/”代表”每”,
    “-”代表从某个数字到某个数字,
    “,”分开几个离散的数字

    3.查看执行test.sh脚本的结果

    [root@iz2ze2ewt14msyueuiq693z home]# cat abc.txt 
    yes
    yes
    yes
    yes
    
    执行成功  666


    展开全文
  • 如果我们使用 crontab 来定时执行脚本,无法执行,但是如果直接通过命令(如:./test.sh)又可以正常执行,这主要是因为无法读取环境变量的原因。 解决方法: 1、所有命令需要写成绝对路径形式,如: /usr/local/bin/...

    1.首先查看crontab是否有启动

    service crond status
    

    在这里插入图片描述
    如上图所示则正常运行中

    2.添加定时任务

    有两种方法

    a.修改文件

    vim /etc/crontab
    

    在这里插入图片描述
    然后添加定时任务,注意环境变量和用户信息,
    在这里插入图片描述
    脚本无法执行问题
    如果我们使用 crontab 来定时执行脚本,无法执行,但是如果直接通过命令(如:./test.sh)又可以正常执行,这主要是因为无法读取环境变量的原因。

    解决方法:

    1、所有命令需要写成绝对路径形式,如: /usr/local/bin/docker。

    2、在 shell 脚本开头使用以下代码:

    #!/bin/sh
    
    . /etc/profile
    . ~/.bash_profile
    

    3、在 /etc/crontab 中添加环境变量,在可执行命令之前添加命令 . /etc/profile;/bin/sh,例如:

    20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh
    

    b.使用命令

    crontab -e
    

    一样如上添加即可

    3.查看定时任务执行情况

    tail -f /var/log/cron
    

    或者

    service crond status -l
    

    ps:定时任务添加语法详解

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8/bin:/usr/local/sbin:/usr/local/bin:/root/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)、天(1-31)、月(1-12)、星期(0-6)、用户名、要执行的命令或者脚本
    每几分钟或者几小时或者几天 只要在对应*号下添加即可
    如:
    每一分钟执行一次 /bin/ls:

    */1 * * * * /bin/ls
    

    每十分钟执行一次 /bin/ls:

    */10 * * * * /bin/ls
    

    每一小时执行一次 /bin/ls:

    * */1 * * *  /bin/ls
    

    每三小时执行一次 /bin/ls:

    * */3 * * *  /bin/ls
    

    实例

    每一分钟执行一次 /bin/ls:

    * * * * * /bin/ls
    

    在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup:

    0 6-12/3 * 12 * /usr/bin/backup
    

    周一到周五每天下午 5:00 寄一封信给 alex@domain.name:

    0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
    

    每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分…执行 echo “haha”:

    20 0-23/2 * * * echo "haha"
    

    下面再看看几个具体的例子:

    0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache 
    
    50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务 
    
    50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务 
    
    0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘 
    
    1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件 
    
    00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
    
    30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令
    注意:当程序在你所指定的时间执行后,系统会发一封邮件给当前的用户,显示该程序执行的内容,若是你不希望收到这样的邮件,请在每一行空一格之后加上 > /dev/null 2>&1 即可,如:
    
    20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh > /dev/null 2>&1 
    
    展开全文
  • Linux定时任务crontab执行脚本出错

    千次阅读 2016-05-25 18:26:18
    Linux下用crontab执行定时任务不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个 脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。这是因为用户登陆Linux操作系统的时候,”/...
  • Linux定时任务执行PHP脚本

    千次阅读 2019-05-22 11:23:39
    6、检查mysql中数据的变化和test.log日志中的定时任务执行情况 7、查看定时任务日志:vim /var/log/cron    附:部分常用执行计划(分、时、日、月、周) 每1分钟执行一次command * * * * * command ...
  • 但是手动执行restart.sh脚本是可以成功的。ESB版本:8.0.0.2 /etc/profile如下: ![图片说明](https://img-ask.csdn.net/upload/201903/19/1552974897_595536.png)![图片说明]...
  • 1、检查是否开启crond(默认已安装)   service crond status   service crond start   service crond stop  service crond restart ...2、编辑执行计划  crontab -e (-l查看计划列表)  ...
  • linux 定时执行shell脚本 定时任务

    千次阅读 2015-12-14 17:32:05
    在oracle 中可以利用dbms_job包定时执行pl/sql、sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘.   在oracle 中可以利用dbms_job包定时执行pl/sql、sql...
  • 原因:是某些命令无法使用crontab调用,因为用户登陆Linux操作系统的时候,/etc/profile, ~/.bash_profile等配置文件会被自动执行,所以手动执行脚本能够成功,但是crontab执行失败 解决办法: 1.脚本内的命令全部用...
  • 最近发现现场每天重启程序的定时任务没有成功执行,在程序的启动日志中并没有打印定时任务执行时间点的日志信息。 查看/var/log/cron 日志,发现定时任务已执行。 查看 /var/spool/mail/root 日志,发现脚本执行...
  • linux定时任务crontab执行脚本无输出

    千次阅读 2018-06-08 10:54:37
    Li 写了一个备份数据库的脚本,手动调试时,OK。 写入crontab后,脚本失效。... 因为在Linux下用crontab执行定时任务时不会从用户profile文件中读取环境变量参数,所以导致在手动执行某个脚本时是成功的,但是写入cr...
  • 因为要修改导入程序,发现Linux定时任务中用脚本代替可执行程序的一个好处。 Linux服务器中有个定时执行的任务,将下载的数据导入数据库,这样的任务一般都是凌晨启动。因为数据结构变化或者优化程序,就需要修改...
  • Linux定时执行脚本

    千次阅读 2016-08-25 09:52:15
    Linux定时执行脚本 来源:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html   今天做了个数据库的备份脚本,顺便系统得学习一下Linux定时执行脚本的设置。Linux下的定时执行主要是使用...
  • Linux定时执行php脚本,来完成对某个接口运转情况的监控,使用的方法 是用Linux里的Crontab定时器,查阅了很多资料,资料讲的不是太全,有些也有错误,在其中我也绕了很多弯路,故记录一下自己使用Crontab来实现...
  • 如何编写Linux定时执行shell脚本任务

    千次阅读 2019-05-24 21:25:41
    很多时候一些shell脚本我们都希望服务器可以自己定时的去运行,那么以下作简单讲解: 首先讲解一些关于cron服务的指令: service crond start //启动服务 service crond stop //关闭服务 service crond restart /...
  • 问题: 为了简便或功能需要,可能需要在服务器上定时执行脚本完成task。这里创建完shell脚本后,使用linux的内置服务执行。 linux服务器系统为centos7。 原理:  crontab 是linux内置服务,只需要开启crontab...
  • 编写定时任务执行脚本 initial.sh #!/etc/bash folder= "/var/www/default" file= "/var/www/default/network.sh" if [ ! -d " $folder " ]; then mkdir " $folder " fi echo "----------...
  • Linux计划任务定时执行脚本

    千次阅读 2017-11-09 22:54:35
    1 在linux中启动crontab服务:/etc/init.d/crond start 2 crontab的格式: #crontab -u -u指定一个用户 -l列出某个用户的任务计划 -r删除某个用户的任务 -e编辑某个用户的任务 如果想要编辑一个计划任务直接在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,453
精华内容 14,581
关键字:

linux定时任务执行脚本

linux 订阅