当前位置: 首页 > 后端技术 > Python

Python定时任务,三步自动化

时间:2023-03-26 12:53:29 Python

大家好,我是小一今天的文章来源于工作中的一个小技巧,主要涉及日常工作的自动化。如果你每天都需要做一些重复性的工作,比如做报告、统计数据、发邮件等等,那么你完全可以把这个任务交给电脑,让它每天自动为你做,而且你只需要从容地打开保温瓶,静静地泡一杯枸杞。今天主要使用Linux下的cron服务,ok,我们直接开始1、安装cron基本上所有的Linux发行版都默认预装了cron工具。即使cron没有预装,也很简单,执行几个简单的命令就可以手动安装/stop/restart查询当前任务:crontab-l2。安装检查安装完成后,检查是否安装成功。同样使用status命令查看是否出现如下提示说明安装成功:另外在ubuntu下可能会出现这样的提示:这也说明可以正常使用3.cron的使用cron有几个简单的使用方法你知道吗可以了解一下,后面会用一个案例详细介绍如何使用。首先列出当前用户计划的cron作业:crontab-l查看其他用户的cron作业:crontab–l–uusername删除计划的cron作业:crontab–r4。Schedulecrontabplan首先通过以下命令在crontab中添加或更新任务第一次进入时会要求选择编辑器,根据自己的习惯选择。选择后会进入这样一个界面:用过vim的同学应该对这个界面不陌生,类似操作:按A开始编辑,按ESC输入wq保存退出。重点是最下面一段:mhdommondowcommand这其实是crontab调度作业的使用介绍,可以用来设置定时任务。具体语法是这样的:mhdommondowcommand*****command-----|||||||||||---预先执行的命令||||-----表示第0~7周(星期日可以用0或7表示)|||------表示1~12月||----------表示日期1~31|-----------表示小时1~23(0表示0点)----------表示分钟1~59用*或*/1表示每分钟几个一个简单的应用案例:每天02:00执行任务02***命令执行任务05,17***命令每10分钟5:00和17:00*/10****commandinExecutetask017*jan,may,augsun命令在某些月份的周日17:00。这是最常用的命令。更多的用例可以参考这个链接:http://linux.51yip.com/search...上例中的命令表示你需要执行的具体任务,比如打印一段:echo"Helloxiaoyi">>/tmp/test.txt或者将这段输出到txt:echo"Helloxiaoyi">>/tmp/test.txt或者需要执行一个Python脚本:pythondemo.pyfilepath后面的文件路径表示输入参数args,可能有的同学会用到,比如下面这种情况,输入的文件下载是必填路径。5.当你在实战中摸清了以上所有内容后,就可以开始今天的重头戏了。首先,我们需要每天从ftp服务器下载最新的任务数据,将数据下载到本地,然后使用Python进行数据汇总统计,最后将结果存入数据库。期间如果某个环节出现问题,会发送报警邮件。①Python脚本首先需要Python脚本完成以下功能:从数据库date中获取最新数据,从ftp下载最新数据到本地,汇总本地最新数据,将统计结果存入数据库进行汇总电子邮件通知。of:if__name__=='__main__':"""获取最新数据日期"""latest_date=get_max_date()#创建以最新日期命名的文件夹download_dir=os.path.join(sys.argv[1],latest_date)如果不是os.path.exists(download_dir):os.makedirs(download_dir)"""从ftp下载最新数据"""download_file(latest_date,download_dir)"""处理最新数据并保存"""process_data(latest_date,download_dir)邮件监控可以添加trycatch异常捕获,当异常发生时,发送邮件。Python编辑电子邮件的内容并发送。我以前写过。可以参考如下:Python邮件发送②写一个cron任务打开crontab,编辑下面内容到最后一行,保存退出crontab会实时自动更新任务列表,不放心的也可以重启cron服务通过restart命令【参考文章开头】这里有个小建议,所有路径都填绝对路径③效果监控如果Python代码没有问题,任务会定时执行。这里建议大家可以单独在控制台运行自己的命令,等没问题的时候写入cron任务列表。最终小学定时任务运行截图如下:底部是ftp文件下载,顶部是数据汇总统计。说点题外话吧。如果你在平时的工作中有很多重复性的任务,比如日常的索引收集、数据检索汇总统计、邮件自动转发等,一旦你可以通过脚本来设置这些任务的逻辑,自动化任务也可以实现。顶多需要每天关注一下邮件,看看有没有错误。原创不易,请点赞!