当前位置:   article > 正文

Ubuntu 定时任务cron_ubuntu20.04系统定时任务

ubuntu20.04系统定时任务

ubuntu版本:20.04 LTS

Cron配置

  1. 配置Cron日志
    ubuntu默认未开启cron日志,手动启用日志

    vim /etc/rsyslog.d/50-default.conf
    
    • 1

    在这里插入图片描述

    将该行#删除
    esc输入:wq!保存并退出

    service rsyslog  restart # 重启rsyslog服务
    vim /var/log/corn.log  # 查看日志
    
    • 1
    • 2
  2. 配置Cron

    1. 输入 crontab -e 进入文件编辑页面

    2. 按下 i 进入编辑模式

      例如:每天凌晨3点执行restore.sh
      0 3 * * * root /usr/Johnny/restore.sh

    3. 按下 exec 退出编辑模式

    4. 输入 :wq! 保存并退出 / :qa 是直接退出

    5. 输入 sudo service cron restart 重启

    crontab执行时间计算 - 在线工具 (tool.lu)

疑难杂症

No MTA installed, discarding output

在这里插入图片描述
该信息提示没有安装邮件服务MTA(因特网邮件传送代理;Mail Transfer Agent),因为cron的错误信息是通过邮件发送的,可以通过安装邮件服务器解决该问题。在Linux操作系统中有很多种邮件传输代理,每个MTA都有自己的特点。我们安装postfix作为邮件服务。

  1. 安装postfix

    sudo apt-get install postfix
    sudo dpkg-reconfigure postfix
    
    • 1
    • 2

    如果提示找不到这个包,可以更换镜像源
    国内有很多Ubuntu的镜像源,有阿里的、网易的,教育网的比如:清华源、中科大源。
    这里以网易163源为例看一下如何修改Ubuntu 20.04的默认源。
    第一步:备份源文件:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    
    • 1

    第二步:编辑/etc/apt/sources.list文件
    在文件最前面添加以下条目(操作前请做好相应备份):

    vi /etc/apt/sources.list
    
    • 1

    网易163源
    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

    deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
    # 预发布软件源,不建议启用
    # deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    第三步:执行更新命令:

    sudo apt-get update
    sudo apt-get upgrade
    
    • 1
    • 2

    选择Internet Site
    在这里插入图片描述
    System mail name填写codc.cn,ccdc是我登录的用户名。点击 OK,postfix继续安装,完毕后自动启动。
    在这里插入图片描述
    安装完毕后重启服务

    sudo systemctl restart postfix
    
    • 1

    现在就可以了,不需要做其他配置。
    等待几分钟,敲一下回车,屏幕显示
    在这里插入图片描述
    说明内容已经发送到/var/mail/root中,查看:

    vim /var/mail/root
    
    • 1
  2. 在cron中执行shell脚本的时候需要输出的log日志时,可以将输出的log重定向到var/syslog

    sh /opt/test/shell.sh>/var/log/syslog
    
    • 1

xxx:not found

如果出现类似 crontab /bin/sh: 1: /usr/Johnny/restore.sh: not found 的情况
检查时是通过 crontab -e 还是 vim /etc/crontab 编辑的cron文件

  1. crontab -e
    */5  *  *  *  * /home/word2pdf.sh > /home/log/word2pdf.log 2>&1 	#正确
    */5  *  *  *  * root /home/word2pdf.sh > /home/log/word2pdf.log 2>&1 	#错误 报错/bin/sh: root: 未找到命令
    
    • 1
    • 2
  2. vim /etc/crontab
    */5  *  *  *  * root /home/word2pdf.sh > /home/log/word2pdf.log 2>&1 #正确
    
    • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/75613
推荐阅读
相关标签
  

闽ICP备14008679号