linux服务器定时执行python程序

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 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 * * * ?
相关文章
|
18天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
1天前
|
人工智能 数据库 开发者
Python中的atexit模块:优雅地处理程序退出
Python中的atexit模块:优雅地处理程序退出
8 3
|
1天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第17天】Linux服务器如何查询连接服务器的IP
7 1
|
2天前
|
Linux
如何将一个linux服务器挂载到另外一个linux服务器上
如何将一个linux服务器挂载到另外一个linux服务器上
13 1
|
3天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
4天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
42 2
|
8天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
8天前
|
数据采集 JavaScript 前端开发
使用Python打造爬虫程序之破茧而出:Python爬虫遭遇反爬虫机制及应对策略
【4月更文挑战第19天】本文探讨了Python爬虫应对反爬虫机制的策略。常见的反爬虫机制包括User-Agent检测、IP限制、动态加载内容、验证码验证和Cookie跟踪。应对策略包括设置合理User-Agent、使用代理IP、处理动态加载内容、验证码识别及维护Cookie。此外,还提到高级策略如降低请求频率、模拟人类行为、分布式爬虫和学习网站规则。开发者需不断学习新策略,同时遵守规则和法律法规,确保爬虫的稳定性和合法性。
|
9天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
17 0
|
14天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1244 8