当前位置: 移动技术网 > IT编程>脚本编程>Python > 记ubuntu下三种修改crontab定时任务的方式及其坑点

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

2020年07月15日  | 移动技术网IT编程  | 我要评论

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

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

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

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

etc/crontab

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

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

在这里插入图片描述
直接添加条目必然能够达到修改定时命令的效果,但是这么做不好,而且分钟 小时 日 月 星期 用户 命令不是标准的crontab命令格式,这使得这些命令不能被移植,而且在大批量处理的时候,也会出现问题。

crontab命令执行目录

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

cd ~ && pwd

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

crontab标准命令格式

分钟 小时 日 月 星期 命令

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

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

crontab -e 编辑定时任务

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

这里我们选择nano编辑器,我们添加一条任务,每分钟执行一次,就是定时给test.txt输出当前路径
在这里插入图片描述
ctrl+o保存,crtl+x退出。

通过crontab -l可以查看当前任务,然后我们查看test.txt中的内容,可以看到每分钟都被写入一次
在这里插入图片描述

crontab -u 导入定时任务

通过命令

crontab -u 文件名

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

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网