linux服务器定时执行python程序

简介: 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 * * * ?
相关文章
|
11月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1106 13
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
325 2
|
12月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3752 0
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
1040 0
|
10月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1651 102
|
10月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
504 104
|
10月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
397 103
|
10月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
427 82
|
9月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
525 3