linux-crontab定时执行

前言

本文章基于linux服务器,使用linux的crontab命令实现任务的定时执行。

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

下面以腾讯云服务器为例,实现一个每天自动发送天气预报到指定邮箱的任务。

准备工作

需要提前准备好一台云服务器和一个实现发送邮箱的python代码文件。

因为要实现每天的发送任务,需要使用云服务器。云服务器和python代码可以到我另外的两篇文章中查看,具体就不在这里赘述了。

部署代码

拷贝文件到服务器

这里我使用的是WinSCP,从windows上拷贝文件到linux云服务器。WinSCP可以直接在windows自带的应用商店中下载,或者到官网下载。

WinSCP的使用很简单,安装好之后,直接点击新建站点,输入云服务器的主机名(即ip地址)、用户名和密码后登录就可以复制文件了。

我们把tianqi.py文件复制到目录test中(test是我新建的目录)

使用crontab命令

其实这个命令需要在crontab文件中进行编写,文件所在目录为根目录下的etc目录中。我们直接使用命令:

$ crontab -e

打开crontab文件,在文件下面写入

0 7 * * * python3 test/tianqi.py

这行命令的意思就是在每天7点执行tianqi.py这个文件。

之后按ctrl+X,Y,enter保存关闭crontab文件。

好了,现在每天就能准时收到邮件啦~

扩展

关于crontab的更多使用方法和原理可以参考文档crontab 定时任务

原文地址:https://www.cnblogs.com/arlenlin/p/13428261.html