linux服务器定时执行python程序

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: linux服务器定时执行python程序

1. 介绍

本篇文章主要介绍在linux服务器上定时运行.py程序脚本,并将运行的结果保存在相应的执行结果文件中

1.1环境

  • Python 3.6.8
  • pip 9.0.3

版本查看方式:

# python版本查看
[root@node-2 ~]# python --version
Python 3.6.8
# pip版本查看
[root@node-2 ~]# pip --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

2. py程序上传及测试

2.1py程序准备

当前代码的功能为获取当前的时间,并打印输出测试代码,脚本的文件名为get_time.py

import datetime
now = datetime.datetime.now()
print(now)
print("======================运行结束========================")

2.2脚本上传到服务器

通过XFTP等方式,将文件上传到服务器相应的路径。

当前文件上传的路径为:

/root/python-py/get_time

2.3运行测试文件

输入python  + 文件名 ,回车后,可以查看运行结果

3. shell运行脚本的创建及测试

3.1新建.sh脚本文件

进入文件夹路径,输入vim+文件名,新建一个sh后戳文件

[root@node-2 get_time]# vim /root/python-py/get_time/get_time.sh
#!/bin/bash
. /etc/profile
touch /root/python-py/get_time/get_time.log
nohup python /root/python-py/get_time/get_time.py   >> /root/python-py/get_time/get_time.log  2>&1 &

3.2为sh脚本赋予可执行权限

[root@node-2 get_time]# chmod u+x  /root/python-py/get_time/get_time.sh

赋权前:

赋权后:

3.3测试sh脚本

在脚本所在目录下,输入./脚本运行,输入ll看到多了一个日志文件

进入此日志文件查看,可以看到为py程序运行的结果,证明测试成功

4. crontab定时运行

输入crontab -e,回车进入crontab,添加定时任务代码并保存退出

[root@node-2 get_time]# crontab -e

举例:每天早上 06:30 执行一次sh脚本 ,编辑页面添加下面代码保存退出

30 6 * * * /root/python-py/get_time/get_time.sh

4.1cron表达式介绍

cron表达式一般用在定时任务中,通过特定的规则指定时间来设置任务调度,比起只能设置重复时间的simple模式更灵活

表达式结构:cron表达式从左到右用空格分隔
秒 分 时 月份中的日期(DayofMonth) 月份 星期中的日期(DayofWeek) 年

各字段的含义和允许的值:

字段

允许值

秒(Second)

0~59的整数

分(Minute)

0~59的整数

小时(Hour)

0~23的整数

日期(DayofMonth)

131的整数

月份(Month)

1~12的整数

星期(DayofWeek)

17的整数

年(Year可为空)

1970-2099

常见表达式举例:

每隔10秒执行一次:*/10 * * * * ? 
每隔1分钟执行一次:0 */1 * * * ? 
每天21点执行一次:0 0 21 * * ? 
每天凌晨1点执行一次:0 0 1 * * ? 
每月最后一天23点执行一次:0 0 23 L * ? 
每周星期天凌晨1点实行一次:0 0 1 ? * L 
在26分、29分、33分执行一次:0 26,29,33 * * * ?
相关文章
|
2月前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
2月前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
14天前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
40 6
|
26天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
2月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
8天前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
2月前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
69 9
|
2月前
|
存储 人工智能 数据挖掘
Python编程入门:打造你的第一个程序
本文旨在为初学者提供Python编程的初步指导,通过介绍Python语言的基础概念、开发环境的搭建以及一个简单的代码示例,帮助读者快速入门。文章将引导你理解编程思维,学会如何编写、运行和调试Python代码,从而开启编程之旅。
46 2
|
2月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
56 5
|
2月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
38 1