欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

记ubuntu下三种修改crontab定时任务的方式及其坑点

程序员文章站 2022-06-25 09:05:48
这几天在折腾Ubuntu的时间定时任务,使用crontab这个软件可以轻易实现定时任务,上一次也讲到【python每小时爬取自己博客信息并且更新到个人网页】也是用crontab来执行定时任务的。crontab有几种不同的方式实现定时任务,但是其中有坑,经过反复查资料,总结一下遇到的坑。最原始的修改方式(不推荐)通过修改以下的文件来达到修改定时任务的方式。etc/crontab我们也可以用cat ../../etc/crontab查看这个文件,发现里面有如下格式的命令分钟 小时 日 月 星期 用...

这几天在折腾Ubuntu的时间定时任务,使用crontab这个软件可以轻易实现定时任务,上一次也讲到【python每小时爬取自己博客信息并且更新到个人网页】也是用crontab来执行定时任务的。

crontab有几种不同的方式实现定时任务,但是其中有坑,经过反复查资料,总结一下遇到的坑。

最原始的修改方式(不推荐)

通过修改以下的文件来达到修改定时任务的方式。

etc/crontab

我们也可以用cat ../../etc/crontab查看这个文件,发现里面有如下格式的命令

分钟 小时 日 月 星期 用户 命令

记ubuntu下三种修改crontab定时任务的方式及其坑点
直接添加条目必然能够达到修改定时命令的效果,但是这么做不好,而且分钟 小时 日 月 星期 用户 命令不是标准的crontab命令格式,这使得这些命令不能被移植,而且在大批量处理的时候,也会出现问题。

crontab命令执行目录

命令的默认目录是在用户的根目录,通过

cd ~ && pwd

可以查看根目录,像我装的ubuntu,根目录就是/home/ubuntu,所以写命令的时候要注意路径的转换

crontab标准命令格式

分钟 小时 日 月 星期 命令

注意:不用声明用户,这和修改crontab文件(即上述修改方法1)时的配置方法不一样,不需要加上用户。

这里就是比较坑的点,因为直接复制crontab文件里面的命令,是行不通的,因为其带上了用户,而实际上,标准的命令格式里面根本就不用声明执行命令的用户。

crontab -e 编辑定时任务

通过命令crontab -e可以编辑定时任务

这里我们选择nano编辑器,我们添加一条任务,每分钟执行一次,就是定时给test.txt输出当前路径
记ubuntu下三种修改crontab定时任务的方式及其坑点
ctrl+o保存,crtl+x退出。

通过crontab -l可以查看当前任务,然后我们查看test.txt中的内容,可以看到每分钟都被写入一次
记ubuntu下三种修改crontab定时任务的方式及其坑点

crontab -u 导入定时任务

通过命令

crontab -u 文件名

可以快速从指定文件导入定时任务,注意定时任务必须是标准格式的。这意味着我们不能直接copy etc/crontab 文件的内容来用,因为其不是标准格式,其包含用户名(这是坑点)

本文地址:https://blog.csdn.net/weixin_44176696/article/details/107337723