Linux下Python脚本自启动与定时任务详解

yizhihongxing

Linux下Python脚本自启动与定时任务详解

背景

在Linux系统下,我们经常会遇到需要脚本自启动或者定时执行某些操作的情况。本篇文章将介绍如何在Linux系统下使用Python实现脚本自启动与定时任务。

自启动

想要实现Python脚本自启动,我们可以将Python脚本放在/etc/init.d/目录下,并在其中添加自启动脚本。具体操作步骤如下:

  1. 将Python脚本放置到/etc/init.d/目录下,比如命名为myscript.py。
  2. 使用vim或者其他编辑器,新建一个名为myscript的文件,内容如下:

```bash
#!/bin/bash
# chkconfig: 2345 10 90
# description: Script Start and Stop Service

case "$1" in
start)
echo "Start Service..."
python /etc/init.d/myscript.py &
echo $! > /var/run/myscript.pid
;;
stop)
echo "Stop Service..."
kill $(cat /var/run/myscript.pid)
rm /var/run/myscript.pid
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
```

  1. 添加可执行权限:chmod +x myscript
  2. 将自启动脚本加入系统启动项:chkconfig --add myscript
  3. 设置自启动脚本开机执行: chkconfig myscript on
  4. 启动服务:/etc/init.d/myscript start
  5. 停止服务:/etc/init.d/myscript stop

这样就可以实现Python脚本自启动了。

定时任务

想要实现Python脚本定时执行,我们可以使用Linux系统内置的crontab功能。具体操作步骤如下:

  1. 进入crontab编辑页:crontab -e
  2. 在文件末尾添加定时任务,例如:

bash
# 每小时的30分执行一次脚本
30 * * * * python /path/to/myscript.py

上述配置表示在每小时的30分时执行mypython.py脚本。
3. 保存并退出编辑器即可。
4. 查看所有定时任务:crontab -l

注意事项:

  • 在Linux中,crontab的时间配置是以24小时模式为准的。
  • crontab默认是使用Bash解析命令,因此在脚本中应该使用绝对路径指定Python解释器。例如:/usr/bin/python 或者 /usr/bin/env python。

示例

下面是一个示例的Python脚本,在每小时的30分时向指定邮箱发送一封邮件。

import smtplib
from email.mime.text import MIMEText
from email.header import Header

mail_host="smtp.qq.com"  
mail_user="xxxx@qq.com"    
mail_pass="xxxxx"  
mail_port=465

sender = 'xxxx@qq.com'  
receivers = ['xxxxx@163.com']  

def send_mail():
    message = MIMEText('Python 自动发送邮件测试', 'plain', 'utf-8')
    message['From'] = Header("Python", 'utf-8')
    message['To'] =  Header("Test", 'utf-8')

    subject = 'Python email test'
    message['Subject'] = Header(subject, 'utf-8')

    try:
        smtpObj = smtplib.SMTP_SSL(mail_host, mail_port) 
        smtpObj.login(mail_user,mail_pass)  
        smtpObj.sendmail(sender, receivers, message.as_string())  
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")

if __name__ == '__main__':
    send_mail()

我们可以将该脚本放到/etc/init.d/目录下,并配置自启动和定时任务,来实现每小时的30分自动发送一封测试邮件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下Python脚本自启动与定时任务详解 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 寻找所有使用 python pacakges 的 github 项目 [关闭]

    【问题标题】:Looking for all github projects that use a python pacakges [closed]寻找所有使用 python pacakges 的 github 项目 [关闭] 【发布时间】:2023-04-02 22:09:01 【问题描述】: 我正在寻找一个工具、脚本、站点或其他任何东西,它可以向我显示利…

    Python开发 2023年4月8日
    00
  • C/C++中的atan和atan2函数实例用法

    C/C++中的atan和atan2函数实例用法 简介 在C/C++中,atan(x)和atan2(y, x)是两个常用的数学函数,用于计算反正切值(arctan)。 atan(x)计算的是一个角度的垂线与x轴的夹角,返回值范围在-pi/2到pi/2之间(以弧度为单位)。 atan2(y, x)计算的是点(x, y)与原点之间连线与x轴的夹角,返回值范围在-p…

    python 2023年6月3日
    00
  • Python自动化之数据驱动让你的脚本简洁10倍【推荐】

    Python自动化之数据驱动让你的脚本简洁10倍 在Web自动化测试中,数据驱动技术可以让测试用例更加智能化,也可以减少用例重复编写的繁琐。Python作为一门强大且易学的程序语言,可以实现数据驱动的功能,进一步提高自动化测试脚本的可复用性和效率。 步骤1:准备数据 1.1 准备Excel文件 将测试数据存储在Excel文件中,方便后续Python脚本读取。…

    python 2023年5月19日
    00
  • 详解用Python pillow 创建和保存GIF动画

    以下是用Python pillow创建和保存GIF动画的完整攻略: 步骤一:导入必要的库 在创建和保存GIF动画之前,我们需要先导入Pillow和一些其他必要的库,具体代码如下所示: from PIL import Image, ImageDraw, ImageFont import random 步骤二:生成帧图像 生成GIF动画最重要的一步就是生成帧图像…

    python-answer 2023年3月25日
    00
  • Python 日期区间处理 (本周本月上周上月…)

    Python 日期区间处理 (本周本月上周上月…)的完整攻略 在Python中,处理日期区间是非常常见的需求,比如要查询某个时间段内的数据,或者计算某个区间内的数据总和等。在Python中,处理日期区间可以使用datetime模块和dateutil模块来完成。下面是Python日期区间处理的完整攻略。 datetime模块 datetime模块是Pyth…

    python 2023年6月2日
    00
  • python读取csv和txt数据转换成向量的实例

    下面是关于“python读取csv和txt数据转换成向量的实例”的详细攻略。 目录 准备工作 读取csv文件并转换成向量 读取txt文件并转换成向量 示例说明1:将CSV文件转换成向量并进行聚类分析 示例说明2:将TXT文件转换成向量并进行词嵌入 1. 准备工作 要完成“python读取csv和txt数据转换成向量”的实例操作,需要先准备好以下工具和包: P…

    python 2023年6月3日
    00
  • PyQt5入门之基于QListWidget版本实现图片缩略图列表功能

    我会详细讲解“PyQt5入门之基于QListWidget版本实现图片缩略图列表功能”的完整攻略。 概述 QListWidget是Qt中的列表控件,它能够展示列表式的数据,并支持图标展示。本篇攻略将会介绍如何基于QListWidget实现图片缩略图列表功能。 实现步骤 导入必要的模块 from PyQt5.QtGui import QIcon, QPixmap…

    python 2023年5月19日
    00
  • Python sklearn预测评估指标混淆矩阵计算示例详解

    Python sklearn预测评估指标混淆矩阵计算示例详解 本文主要介绍如何使用Python中的sklearn库来计算模型的混淆矩阵,从而评估模型的预测性能。 混淆矩阵 混淆矩阵是模型性能评估的常用指标之一,以二分类问题为例,混淆矩阵通常包含4个元素: 真实值为正例,模型预测结果为正例的数量(True Positive,TP) 真实值为正例,模型预测结果为…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部