ubuntu crontab定时任务

本文介绍了如何在Ubuntu系统中管理crontab定时任务,包括启动、停止和重启cron服务,查看cron进程,以及使用crontab命令进行编辑、删除和列出任务。还详细解释了crontab语法,如时间间隔定义和命令执行,并提供了解决shell脚本运行时source命令找不到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作:
- ubuntu下crontab的服务程序是cron,并且默认cron服务的log是没有的,我们必须手动开启
- 命令:sudo vim /etc/rsyslog.d/50-default.conf
- 找到cron.*那一行把注释去掉, /var/log/cron.log
- 重启cron服务 sudo service cron restart
每次增加新的任务之后需要重启服务载入配置
  • 命令如下:

    • service cron start /启动服务/
    • service cron stop /关闭服务/
    • service cron restart / 重启服务/
    • service cron reload /重新载入配置/
  • 查看 cron 进程

    • pgrep cron
      • 返回进程id
  • crontab -u /设定某个用户的cron服务/

  • crontab -l /列出某个用户cron服务的详细内容/

  • crontab -r /删除某个用户的cron服务/

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

    • 参数名称 含义 示例
    • l 显示用户的Crontab文件的内容 crontabl –l
    • i 删除用户的Crontab文件前给提示 crontabl -ri
    • r 从Crontab目录中删除用户的Crontab文件 crontabl -r
    • e 编辑用户的Crontab文件 crontabl -e
  • crontab语法如下:

    • sudo vi /etc/crontab 该命令用来增加命令
    Minute  Hour  Day  Month  Dayofweek   user   command
    
    */1      *     *    *       *        ubuntu   cd /home/ubuntu && sh test.sh  每分钟启动一次
    
    *  0    * * *   ubuntu  cd /home/ubuntu && sh everyday.sh
    *  0    * * 1   ubuntu  cd /home/ubuntu && sh everyWeek.sh
    
    • Minute Hour Day Month Dayofweek command
    • Minute :分钟(0-59),表示每个小时的第几分钟执行该任务
    • Hour : 小时(0-23),表示每天的第几个小时执行该任务
    • Day : 日期(1-31),表示每月的第几天执行该任务
    • Month : 月份(1-12),表示每年的第几个月执行该任务
    • DayOfWeek : 星期(0-6,0代表星期天),表示每周的第几天执行该任务
    • Command : 指定要执行的命令(如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径)
    • “*” ,代表所有的取值范围内的数字;
    • “/” , 代表”每”(“*/5”,表示每5个单位);
    • “-” , 代表从某个数字到某个数字(“1-4”,表示1-4个单位);
    • “,” ,分开几个离散的数字;

Tips:
shell脚本中含有source命令运行时提示 source: not found
如果:ls -l /bin/sh 后显示/bin/sh -> dash
解决方案:
命令行执行:dpkg-reconfigure dash(需要root权限)
在界面中选择no
再运行ls -l /bin/sh 后显示/bin/sh -> bash

原因:Ubuntu继承了Debian,所以从Ubuntu 6.10开始默认是Dash.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值