Ubuntu定时任务crontab命令介绍

通过Linux上的crontab命令,我们可以在规定的间隔时间执行指定的系统指令或脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

crontab默认在Ubuntu上是已经安装的,若未安装,则可执行以下命令进行安装:

sudo apt-get install cron

cron服务(守护进程)在系统后台运行,并且会持续地检查/etc/crontab文件和/etc/cron.*/目录,也同样会检查/var/spool/cron/目录。每个用户都可以拥有自己的crontab文件,这些文件都位于/var/spool/cron/crontabs目录中,不可以直接编辑它们,需要通过crontab命令来编辑或配置自己的定时任务。/etc/crontab是系统的crontab文件,通常只被root用户或守护进程用于配置系统级别的任务。

crontab配件文件分为两种不同的类型:

(1). 系统级crontab:此类型通常由那些需要root或类似权限的系统服务和重要任务是要;

(2). 用户的crontab:用户可以使用crontab命令来安装属于他们自己的定时任务。

crontab常用命令参数介绍:

# 编辑某个用户的crontab文件内容,如果不指定用户,则表示编辑当前用户的crontab文件
crontab -e
# 显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容
crontab -l
# 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件
crontab -r
# 在删除用户的crontab文件时给确认提示
crontab -i # crontab -ir

crontab文件格式:第1列:分钟(minute),取值范围0~59;第2列:小时(hour),取值范围0~23;第3列:日(day),取值范围1~31;第4列:月(month),取值范围1~12;第5列:星期(week),取值范围0~7,这里的0或7代表星期日;第6列:要运行的命令(command)。前5列用空格分开,是设定时间的。

在以上各个列中,还可以使用以下特殊字符:

“*”:指定取值范围内的所有可能的值,如在小时中,一个星号等同于每个小时;

“,”:指定多个值的列表,如1,5,10;

“-”:指定一个值的范围,如1-5等同于1,2,3,4,5;

“/”:指定一个时间的间隔频率,如在小时中,*/2,表示每2小时执行一次

crontab文件中的每一行都代表一项任务。

crontab服务管理命令:

sudo service cron status # 查看crontab服务状态
sudo service cron start # 启动crontab服务
sudo service cron stop # 关闭crontab服务
sudo service cron restart # 重启crontab服务
sduo service cron reload # 重新载入crontab配置

示例:首先执行:$ crontab -e ,编辑crontab文件,内容如下图所示,保存:

test.py内容如下:

import datetime

print("now time:",datetime.datetime.now())

然后执行:$ sudo service cron restart ,过几分钟后info.txt文件的内容如下:

最后取消crontab任务,执行: $ crontab -ri ,执行结果如下图所示,下图中的上半部分显示的结果是在执行crontab -ri前先执行crontab -l输出的结果:

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值