zoukankan      html  css  js  c++  java
  • Linux 任务计划 crontab 配置概要与常见问题

    Linux 可以利用 crontab 来实现定时任务,自动化操作。本文对此进行简要说明。

    crontab 操作示例


    列出定时任务

     
    1. crontab -l
    2. #列出所有的定时任务,如果没有定时任务,返回no crontab for root信息。

    blob.png

    新建定时任务

     
    1. crontab -e
    2. #打开crontab定时任务编辑界面,按I键进入编辑模式。

    格式:分时日月周 <命令>

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

    示例:

     
    1. 5 * * * * /etc/cpu_monitor.sh
    2. #开机后,每5分钟执行一次cpu监控脚本。
    3. 30 21 * * * /usr/local/etc/rc.d/lighttpd restart
    4. # 每晚的21:30重启 apache。
    5. 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
    6. #每月1、10、22日的4:45重启 apache。

    查看定时任务

    可以执行 crontab -l 查看已经配置的定时任务。

    删除定时任务

     

     
    1. #删除所有定时任务。
    2. crontab -r
    3. #单独删除某一个定时任务,进入编辑模式,注释掉需要删除的定时任务语句即可
    4. crontab -e
    5. # 注:使用Crontab进行清理、删除、更改配置操作,有一定风险,请在测试前创建快照备份。

    常见问题


    执行任务时报错: You (*) are not allowed to use this program (crontab)

    问题现象

    非 root 用户在执行 crontab -l  crontab -e 等命令时,出现报错:

     
    1. You (***) are not allowed to use this program (crontab)

    问题原因

    这是由于 crontab 任务有权限控制,非 root 用户默认没有操作 crontab 的权限。可以通过创建文件 /etc/cron.allow 或者 /etc/cron.deny 来控制权限。

    • 如果 /etc/cron.allow 文件存在,那么只有这个文件中列出的用户可以使用 cron, 同时 /etc/cron.deny文件被忽略; 

    • 如果 /etc/cron.allow 文件不存在,那么文件 /cron.deny 中列出的用户 将不能用使用 cron。    

    处理办法

    遇到类似问题,请切换到 root 用户,按以下步骤检查:

    1. 如果系统中没有 cron.allow 文件,检查 /etc/cron.deny 文件中是否有该非 root 用户的用户名。

    如果有,编辑 cron.deny 文件删除该用户的用户名,保存后通过 service crond restart 重启cron服务

     

    2. 如果系统中有 cron.allow 文件,可以将该非 root 用户(以testuser1用户名为例)添加到 cron.allow 文件中。保存后重启cron服务。

    blob.png

    检查完以上两步,切换到该非root用户(testuser1),检查一下是否可以执行或编辑cron定制任务。

    创建定时任务失败,提示 command not found

    问题描述

    阿里云ECS服务器,使用 Linux 定时服务 crontab 创建定时任务时执行失败。进入crontab主目录,发现没有该目录。

    blob.png

    分析解决

    该问题是由于Crontab应用包未安装,或安装后程序文件损坏导致。

    blob.png

    此时可通过yum方式进行在线安装,参考命令如下:

     
    1. yum install vixie-cron 依赖程序,主程序
    2. yum install crontabs 任务程序,执行包

    安装完毕后,再次执行crontab -e 命令编辑新的计划任务,或crontab -l 查看已存在的历史任务。

    blob.png

  • 相关阅读:
    关于echarts图表在tab页中width:100%失效的问题
    easyui
    小程序中点击事件传参
    微信小程序实现滚动分页加载更多
    使用jquery如何获取现在时间、并且格式化
    只需两步获取任何微信小程序源码
    怎样修改已经审核通过发布成功的微信小程序
    小程序开发swiper如何实现点击图片自定义跳转
    微信小程序如何提交审核并发布?发布问题:小程序只支持https访问
    小程序填坑之路—读取用户信息、缓存其数据、读取其数据
  • 原文地址:https://www.cnblogs.com/hftian/p/10007991.html
Copyright © 2011-2022 走看看