centos 自动运行python脚本和配置 Python 定时任务

yizhihongxing

下面是 CentOS 中自动运行 Python 脚本和配置 Python 定时任务的完整攻略。

一、自动运行 Python 脚本

1.1 配置crontab

CentOS5.x 系统自带cron服务,CentOS6.x及以上系统安装时默认安装此服务,具体安装方法为:

sudo yum install cronie

安装完成后,启动cron服务

sudo systemctl start crond.service

在 CentOS 中,可以通过配置 crontab 文件来实现定时执行 Python 脚本。

crontab -e

然后在打开的文件中添加以下内容:

# 每分钟运行 /path/to/python/script.py 脚本
* * * * * /path/to/python/script.py

保存并退出。

1.2 编写py脚本

下面给出一个 Python 脚本的示例,该脚本会定时向指定邮箱发送一条测试邮件。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText

# 发送邮件的信息
to_list = ['your.email@example.com']
mail_host = 'smtp.example.com'  # 邮件服务器地址
mail_user = 'your.email@example.com'  # 用户名
mail_pass = 'your-email-password'  # 密码或授权码

def send_mail(mail_content):
    """
    发送邮件
    :param mail_content: 邮件内容
    """
    # 设置邮件信息
    msg = MIMEText(mail_content, 'html', 'utf-8')
    msg['From'] = mail_user
    msg['To'] = ','.join(to_list)
    msg['Subject'] = '测试邮件'

    # 连接邮件服务器并发送邮件
    smtp = smtplib.SMTP(mail_host)
    smtp.login(mail_user, mail_pass)
    smtp.sendmail(mail_user, to_list, msg.as_string())
    smtp.quit()

if __name__ == '__main__':
    send_mail('<h1>测试邮件内容</h1>')

二、配置 Python 定时任务

2.1 安装 APScheduler

Python 中有一个轻量级的定时任务调度库叫做 APScheduler,在 CentOS 中可以通过以下命令进行安装:

pip install apscheduler

2.2 编写 APScheduler 示例

下面给出一个 APScheduler 的示例,该脚本会定时向指定邮箱发送一条测试邮件。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import datetime
import smtplib
from email.mime.text import MIMEText

from apscheduler.schedulers.blocking import BlockingScheduler


# 发送邮件的信息
to_list = ['your.email@example.com']
mail_host = 'smtp.example.com'  # 邮件服务器地址
mail_user = 'your.email@example.com'  # 用户名
mail_pass = 'your-email-password'  # 密码或授权码


def send_mail():
    """
    发送邮件
    """
    # 设置邮件内容
    mail_content = '<h1>测试邮件内容</h1>'
    msg = MIMEText(mail_content, 'html', 'utf-8')
    msg['From'] = mail_user
    msg['To'] = ','.join(to_list)
    msg['Subject'] = '测试邮件'

    # 连接邮件服务器并发送邮件
    smtp = smtplib.SMTP(mail_host)
    smtp.login(mail_user, mail_pass)
    smtp.sendmail(mail_user, to_list, msg.as_string())
    smtp.quit()


if __name__ == '__main__':
    scheduler = BlockingScheduler()
    # 每隔5秒执行一次 send_mail 函数
    scheduler.add_job(send_mail, 'interval', seconds=5)
    try:
        scheduler.start()
    except KeyboardInterrupt:
        scheduler.shutdown()

以上就是 CentOS 中自动运行 Python 脚本和配置 Python 定时任务的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos 自动运行python脚本和配置 Python 定时任务 - Python技术站

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

相关文章

  • python的random模块及加权随机算法的python实现方法

    python的random模块及加权随机算法的python实现方法 random模块简介 Python的random模块提供了生成随机数的功能,可以用来生成伪随机数。主要用于生成测试数据,大型模拟以及保护算法的机密性。 在Python中,可以通过导入random模块来使用这些功能。 以下是常用的方法: random.randint(a,b):生成[a,b]之…

    python 2023年5月14日
    00
  • Python实现破解网站登录密码(带token验证)

    Python实现破解网站登录密码(带token验证) 在本文中,我们将介绍如何使用Python实现破解网站登录密码,并带有token验证。我们将使用requests库发送HTTP请求,并使用BeautifulSoup库解析HTML响应。 步骤1:导入必要的库 在使用Python实现破解网站登录密码之前,我们需要先导入必要的库: import requests…

    python 2023年5月15日
    00
  • python语言的优势是什么

    以下是“Python语言的优势是什么”的完整攻略: 一、问题描述 Python是一种高级编程语言,具有简单易学、可读性强、功能强大等优点。本文将详细讲解Python语言的优势是什么。 二、解决方案 2.1 Python语言的优势 Python语言具有以下优势: 简单易学:Python语言的语法简单明了,易于学习和使用。Python语言的代码可读性强,代码结构…

    python 2023年5月14日
    00
  • pygame学习笔记(4):声音控制

    本文将详细讲解“pygame学习笔记(4):声音控制”的完整攻略,内容包括: 声音的基本概念 pygame中声音的操作 示例说明 声音的基本概念 声音是一种机械波在空气中的传播形式,它在媒介中传播时产生的压缩和膨胀形成了声波,人听到的声音就是因为声波的压缩和膨胀作用人的耳膜而产生的。在计算机中,声音通常以“采样率”和“位深”两个参数来表示。采样率表示每秒采集…

    python 2023年6月6日
    00
  • Python中创建字典的几种方法总结(推荐)

    下面我就为你详细讲解“Python中创建字典的几种方法总结(推荐)”的完整攻略。 Python中创建字典的几种方法总结(推荐) 在 Python 中,字典是一种非常常用的数据类型,它可以存储无序的键/值对(key/value pairs)。创建字典的方式有多种,下面我们就来总结一下。 直接创建 最常见的创建字典的方式就是直接使用大括号 {} 进行创建。我们可…

    python 2023年5月13日
    00
  • 只用20行Python代码实现屏幕录制功能

    下面是详细讲解“只用20行Python代码实现屏幕录制功能”的完整攻略。 1. 需求分析 我们需要实现一个屏幕录制功能,能够将电脑屏幕的内容录制下来保存为视频文件。 2. 技术选择 我们可以使用Python语言的Pillow模块和OpenCV库来实现这个功能。其中,Pillow模块可以用来捕获屏幕截图,OpenCV库可以用来将多张图片组成视频文件。 3. 实…

    python 2023年5月19日
    00
  • pip报错“ModuleNotFoundError: No module named ‘pip._vendor.requests.cookies’”怎么处理?

    当使用pip安装Python包时,可能会遇到“ModuleNotFoundError: No module named ‘pip._vendor.requests.cookies’”错误。这个错误通常是由以下原因之一引起的: pip版本过低:如果您的pip版本过低,则可能会出现此错误。在这种情况下,需要升级pip版本。 pip安装文件损坏:如果您的pip安装…

    python 2023年5月5日
    00
  • 解决Python命令行下退格,删除,方向键乱码(亲测有效)

    我来为你详细讲解如何解决Python命令行下退格、删除、方向键乱码问题。 问题描述 在Python命令行界面中,使用退格键、删除键以及方向键时,可能会出现输入不正常的情况。比如输入 backspace 键时会输出 ^H ,输入方向键时会出现一些其它奇怪的字符,这样显然不利于编写代码。 解决方案 这里提供两种不同的解决方案,分别是: 修改 Python 环境变…

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