python定时任务,定时实现发邮件,定时备份

python定时任务,定时实现发邮件,定时备份
python定时任务主要模块sched,还有ApScheduler还可以通过其他方式实现定时任务,而ApScheduler是需要pip命令来下载,用sched更方便实现一些

#####定时发邮件
import sched
import time
import smtplib
from email.mime.text import MIMEText

def send_email(subject, message, from_addr, to_addr, smtp_server):
	# 邮件的主体信息
	email = MIMEText(message)
	email['Subject'] = subject
	email['From'] = from_addr
	email['To'] = to_addr

	# 发邮件
	with smtplib.SMTP(smtp_server) as server:
		server.send_message(email)

def send_scheduled_email(subject, message, from_addr, to_addr, smtp_server, scheduled_time):
	# 创建定时任务的示例
	scheduler = sched.scheduler(time.time, time.sleep)

	# 定时邮件
	scheduler.enterabs(scheduled_time, 1, send_email, argument=(subject, message, from_addr, to_addr, smtp_server))

	# 开启定时器
	scheduler.run()

subject = 'Test Email'
message = 'This is a test email'
from_addr = 'test@example.com'
to_addr = 'test@example.com'
smtp_server = 'smtp.test.com'

scheduled_time = time.time() + 60*60 # 一小时后执行程序,设置定时时间发送
send_scheduled_email(subject, message, from_addr, to_addr, smtp_server, scheduled_time)	

#####定时备份

import sched
import time
import shutil

def backup_files():
	source = '备份的路径'
	destination = '备份到路径'
	shutil.copytree(source, destination)

def schedule_backup():
	# 创建新的定时器
	scheduler = sched.scheduler(time.time, time.sleep)

	# 备份程序在每天的1点来执行
	backup_time = time.strptime('01:00:00', '%H:%M:%S')
	backup_event = scheduler.enterabs(time.mktime(backup_time), 1, backup_files, ())

	# 开启定时任务
	scheduler.run()

schedule_backup()
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值