目标:在Linux服务器上,定时运行python脚本。

这个小玩意儿适用于让服务器做一些自动的东西,比如定时查库发送报表、定时让爬虫爬数据、定时提醒等等。

那有同学要问了:为啥不用自己电脑直接运行?-----------因为自己电脑不能24小时开机,一旦关机就触发不了了,所以就要服务器帮忙啦。

事先准备:

1、一台服务器,可以是云服务器也可以使其他可以24小时运行的服务器。最好用Linux的系统,例如centos、Debian、Ubuntu等。

2、云服务器上安装Python

步骤:

1、写一个用于触发器python文件:t_apscheduler.py

这个文件有两个作用:
1.1、用APScheduler写触发器(date定时执行;interval间隔调度;cron特定时间周期触发)
1.2、写一个函数,这个函数用os.system写要执行的py脚本

import os
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime, datedef execute():os.system('python t_datetime.py')scheduler = BlockingScheduler()
# 在某个时间点执行一次
# scheduler.add_job(execute, 'date', run_date=datetime(2022, 3, 16, 17, 13, 30))# 每隔N时间执行一次。为了演示的更直观,就用这个每隔两秒运行一次
scheduler.add_job(execute, 'interval', seconds=2)# 特定时间内,周期性触发
# scheduler.add_job(execute, 'cron', day_of_week='0-6', hour=17, minute=21)
scheduler.start()

1.3、随意写一个要执行的py:t_datetime.py

import datetimenow = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print("now", now)

2、把要执行的py(t_datetime.py)和这个触发器py(t_apscheduler.py),都放在服务器上。(注意服务器先安装好APScheduler包:pip3 install apscheduler)

pip3 install apscheduler


3、执行命令:

nohup python t_apscheduler.py &

4、用下面命令,就可以看到要执行的py文件执行情况了。

tail -f nohup.out

执行成功,没报错。目标完成!


最后:

可以延伸拓展一下思维:

1、对数据人员来说:每天/周,定时发的数据日/周报,是不是可以用云服务器来帮忙做?(前提是,服务器要能和数据库网络互通)

2、对研发人员来说:每天执行定时执行一下code review,然后把错误发送到邮箱里。

3、对测试人员来说:自动化测试案例写完之后,定时跑一下关键步骤的测试案例,以防主流程出问题

4、对于运营人员来说:每天定时把用户埋点数据整理整理并生成报表,以便查看。

等等。

这篇文章只讲了如何如何使用Python的apscheduler框架来定时执行任务。那,定时执行什么任务呢?这个就得靠自己了。上边的t_datetime.py只是最简单的一个例子,没什么实际的意义。

思想有多sao,路就能走多远。

参考资料:

nohup的用法:

Linux nohup 命令 | 菜鸟教程 (runoob.com)

定时任务框架APScheduler:

Python 定时任务的实现方式 | lizhen's blog (lz5z.com)

GitHub地址:

apscheduler/userguide.rst at 3.x · agronholm/apscheduler (github.com)

官方文档:

User guide — APScheduler 3.9.0.post1.post1 documentation

在Linux服务器上执行python定时任务(APScheduler定时框架)相关推荐

  1. Pssh -- 使用单个终端在多个远程Linux服务器上执行命令

    OpenSSH毫无疑问是可用于Linux的使用最广泛和强大工具之一,它允许你通过一个shell安全地连接到远程Linux系统,并且允许你与远程系统之间来回传输文件. 但OpenSSH的最大缺点是你不同 ...

  2. Linux服务器上搭建Python+Selenium+Chrome的运行环境(静默模式、无图形)

    本文是<统计CSDN博客的访问量>的部署篇,为了持续统计CSDN的访问量.并进行分析,因此需要在Linux上搭建Selenium + Chrome driver的运行环境 安装Seleni ...

  3. 第一次在linux服务器上跑python项目Sklearn安装问题

    昨天刚拿到账号有点懵圈的.. 本地有一个Python项目,奈何pc太弱鸡了..啥用都没 然后安了一下anaconda环境,创建了一个虚拟环境安装pytorch 准备跑了 第一步当然是把代码放上去,用这 ...

  4. linux服务器上执行 rm -rf/*

    我的建议是从大脑里面把这个东西忘掉. 重要事的事情说三遍 不要执行 不要执行 不要执行 说一个我做的事   我通过这行命令直接把公司测试服务器干掉了  ....还好是测试服务器. 以往大家能引以为戒  ...

  5. python连接linux服务器读取txt文件_python 读取Linux服务器上的文件方法

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hos ...

  6. java远程执行功能_Java远程连接Linux服务器并执行命令及上传文件功能

    Java远程连接Linux服务器并执行命令及上传文件功能 发布于 2020-3-6| 复制链接 摘记:  最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记.此种连接方法中有考虑到并 ...

  7. 使用sshpass在Linux服务器上批量执行脚本

    用途描述: 如果Linux服务器未配置免密登录,每次使用ssh执行远程脚本时,都需要输入密码. 使用sshpass命令可以在多个Linux服务器上批量执行脚本,操作步骤如下: 1.安装sshpass ...

  8. 服务器跑python程序后还能安装网站吗_如何在服务器上跑python程序

    在服务器上跑python程序的方法: 登录服务器,将需要运行的python程序上传到服务器端,选择合适的python版本,运行python解释器,将程序路径添加进去执行就可以了 示例如下: windo ...

  9. 跑深度学习在Linux服务器上常用操作(ssh, screen, tensorboard, jupyter-notebook)

    转自:http://www.360doc.com/content/17/1228/08/7669533_717027772.shtml 如何连上远程服务器 连上服务器 首先,当然得是要用自己的PC连接 ...

最新文章

  1. 看!清华网红自行车成精了:拥有“类人脑芯片”,可无人驾驶!
  2. linux安装卷管理,Linux安装管理ISCSI卷(initiator端)
  3. Tomcat学习总结(11)——Linux下的Tomcat安全优化
  4. ros中web端通过 ajax 访问 nginx 加载静态 pgm 地图显示在canvas画布中
  5. php获取页面指定内容,php 获取页面中的指定内容类
  6. 高中python公开课怎么上好_Python公开课 - Requests高级功能
  7. 工作流实现自定义表单
  8. 五、瞰景Smart3D空三解算
  9. Python轻松多条件计数与求和
  10. 智慧农业,绿色农业智慧管理平台
  11. 测试学习--云测试平台
  12. 佛说,是我们自己苦了自己~
  13. 【阅读笔记】Mutual CRF-GNN for Few-shot Learning
  14. Java fx 变速播放音乐_QVE音频剪辑如何调整音频播放速度?音乐变速方法说明
  15. 网易新财报:游戏养家,教育维稳、音乐快走
  16. opencv-图像修补,图像修复,inpaint
  17. 京东淘宝天猫API销量接口
  18. ROS:bag数据包内容提取——雷达点云数据和imu数据
  19. 小米5s+刷+android+8.0,【小米5S标准版 解账户锁线刷包】MIUI V8.0.10.0 刷机 工具+驱动+教程!紫火提供版...
  20. 华为android加固,app安全加固学习记录

热门文章

  1. 计算机命令符号,给几个电脑常用的命令提示符
  2. 谈谈网页中使用奇数字体和偶数字体
  3. 大O表示法(向往罗马)
  4. smartupload 路径不存在_使用jspSmartUpload.jar上传图片的路径问题
  5. java实现掼蛋分组小游戏_基于Ajax技术的掼蛋比赛自动裁判系统设计与实现
  6. 【推荐系统】算法总结(1) UserCF
  7. 新人如何学配音?配音每日练习基本功学习?
  8. 时序动作定位 | ActionFormer: 使用Transformers动作时刻
  9. sysctl.conf配置
  10. 基于java的网上银行(网银)管理系统