zoukankan      html  css  js  c++  java
  • Ubuntu系统下crontab的使用

    最近一个项目,需要用到一个定时任务,先说crontab的常用命令。


    crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
    crontab -l //列出某个用户cron服务的详细内容
    crontab -r //删除没个用户的cron服务
    crontab -e //编辑某个用户的cron服务

    接下来我的调试过程

    (1)编辑加入自己的命令

    crontab -e  //编辑某个用户的cron服务

    */1 * * * * /usr/bin/php   /var/send.php   每分钟都执行一次

    send.php

    编辑如下

    <?php
        echo 'this is a work';
    ?>

    没有出现运行结果,于是乎,就去查看日志,结果在/var/log下没有发现 cron.log文件,这我就纳闷了,why?

    经过研究发现原来日志服务器rsyslog没有开启对crontab的支持,接下来进入/etc/rsyslog.d/ 

    cd /etc/rsyslog.d/
    ls
    20-ufw.conf  50-default.conf //会有连个文件
    vim 50-default.conf
    编辑如下:

    找到 cron.* 所在行

    #  Default rules for rsyslog.
    #
    #            For more information see rsyslog.conf(5) and /etc/rsyslog.conf
    
    #
    # First some standard log files.  Log by facility.
    #
    auth,authpriv.*            /var/log/auth.log
    *.*;auth,authpriv.none        -/var/log/syslog
    cron.*                /var/log/cron.log
    #daemon.*            -/var/log/daemon.log
    kern.*                -/var/log/kern.log
    #lpr.*                -/var/log/lpr.log
    mail.*                -/var/log/mail.log
    #user.*                -/var/log/user.log

    去掉前面的#。ok,接下来 使用命令cron restart重启,啊哟,报错了,

    cron: can’t lock /var/run/crond.pid, otherpid may be

    解决方案:

    rm /var/run/crond.pid
    ps -A | grep cron
    kill 进程ID

    然后继续 cron restart,Ok了,但是还没还结果,现在我们可以看看日志啦。

    tail /var/log/cron.log

    发现错误如下:

     (CRON) info (No MTA installed, discarding output)

    出错原因:

    报错的主要原因是没有配置邮件服务器.

    有两个原因会导致这个错误发生:

     1,当你执行命令是shell脚本时

      解决方案:在每条命令后面加上:

      >/dev/null 2>&1

     2,当你向窗口输出时,因为内容的输出是cron通过邮件发送的

      解决方案:将输出内容导入一个文件 >> /tmp/test.txt

     

    更过的进阶技术可以关注公众号:进阶的脚步  回复学习资料  有惊喜哦

  • 相关阅读:
    误报的java.sql.SQLException: Parameter number 21 is not an OUT parameter
    mysql bin-log和innodb_log的关系
    线上mysql内存持续增长直至内存溢出被killed分析(已解决)
    mysql服务器io等待高定位与分析
    mysql 5.6到percona 5.6小版本升级
    mysql内存消耗分析
    centos 7安装mysql报错-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory
    windows 7文件误删shift+delete后找回
    oschina github使用指南
    couchbase单向同步
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/7113014.html
Copyright © 2011-2022 走看看