Ubuntu上使用crontab来定时执行Python脚本

Ubuntu上使用crontab来定时执行Python脚本

此文章为原创,转载及其他用途请注明出处!

已具备条件:

1. Python3

2. Ubuntu服务器或Ubuntu系统的电脑

3. crontab(Ubuntu系统已默认安装)

 

一、准备定时运行的脚本----Crontab_test.py

(在Ubuntu系统上已有py文件请跳过本步骤)

1. 由于我是win10系统,所以是先在本地写好脚本,然后上传到服务器上。

本地和服务器文件传输可以使用工具-----Xftp,在使用Xftp上传文件到阿里云服务器时,需要自行配制下安全组,参考阿里云官网----> 点这里

连接完成后的截图如下:

2. 比如写好的py文件如下:

#!/usr/bin/python3
# coding=UTF-8
import datetime

Now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print('Now the time is : ', Now)

此段代码输出当前时间。 

然后在左侧找到本地文件----->右键---->传输即可(先在右半面-即在服务器的磁盘找到要传输到的目录)。

 

二、crontab简要介绍

推荐去这里查看,CSDN上的一些人写的不一定会靠谱。

命令格式如下:

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                   7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command to execute

 

详细信息参考链接。

常用命令:

1. 使用-l参数列出crontab文件:

crontab -l

2. 编辑crontab文件:

crontab -e

 三、添加一个定时任务:

1. 在终端输入crontab -e,按照命令格式的形式,输入需要的定时任务。

比如,每天的21:12运行一次程序,格式如下:

12 21 * * * /usr/bin/python3 /root/pyCode/Crontab_test.py >> /root/pyCode/Test_crontab.log 2>&1

注:意思是--> 将运行结果的输出输出到Testcrontab.log文件中,2>&1的意思是把错误的输出也输出到标准输出(2表示错误,2>表示错误输出,&表示等同于,1表示正确),因此如果运行出错也会把错误输出到之前定义的log中。

2. 在21:12以后,打开刚刚输入的目录去看日志文件的内容:

cd /root/pyCode/
sudo nano Test_crontab.log

 打开log文件后,内容如下图所示:

 

可以看到,脚本在21:12准时运行,到此就完成了定时任务呀! 

 

 

注意:1.所有用到的文件,要以绝对路径出现;

2.程序中的打印也不会显示在显示屏,在后台运行,这就是log文件的用处;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值