脚本启动显示查询频繁被服务器防御_数据分析师所需的编程技能:脚本调度

b656307cd629716b4950db29241ea351.png

脚本调度在数分工作中十分常见。

比如一些核心数据老板想每天都看到,如果每天早上都来做一遍数据整理并发送,这样效率太低了。正确的做法是写好python脚本,每天定时调度它,自动发送邮件日报给老板。

又比如某个数据库的表格数据量实在太大了,想提高查询效率,可以写一个中间表,每天凌晨定时插入过滤后的数据,往后查询就只需查找这个数据量较少的中间表即可。总之,脚本调度很重要,学就是。总结两种调度方法:1、Linux crontab调度 。2、windows任务计划程序

Linux crontab调度

使用这种调度方法有些前提条件:

1、需要懂一些常用的linxu语句

2、需要一台服务器

Linux crontab调度语法

crontab的命令构成是时间+动作,其时有分时日月周5种,对应的顺序如下图:

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要执行的命令

* * * * *  command
分时日月周 调度脚本的命令

用一些例子继续讲述,假设我想每天凌晨1点30分调度在/home/data/路径下的run.py的文件,那这样写:

30 01 * * * python3 /home/data/run.py
分 时 日月周 python  绝对路径/py脚本

还需注意一些crontab的操作符:

*(星号):此操作符为字段指定所有可用的值。举个例子,在小时字段中,一个星号等同于每个小时;在月份字段中,一个星号则等同于每月。

,(逗号):代表分隔时段的意思。举例来说,如果要执行的工作是每天的2点和4点时候,这么写。

0 2,4 * * * command

-(减号):代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:

20 8-12 * * * command

其实它等同于。

20 8,9,10,11,12 * * * command

/n(斜线):n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:

*/5 * * * * command

crontab使用步骤及相关操作:

1、安装日志来检测任务是否真正被执行了

be4620f9a63239a6c1ac1cb4a24863cf.png

2、启动crontab,第1、2步只有初次使用才需要,往后直接进行第三步即可。

f3f56aca98306049d5e113af9423d373.png

3、编辑crontab任务,会需要一个vim文档

604d05d261e4bc895815a3a1a291d73c.png

在文档的最后面进行编辑。这里的意思是每分钟会在目录下创建一个空白文件。

5b76162ff7291d0b19e27922d46eff2b.png

4、添加完crontab命令后,按ctrl + o,然后按回车键,在按ctrl +x 退出编辑,这时服务器会显示出:installing new crontab,代表crontab插入成功。

5、我们可以用crontab -l查看添加了什么调度任务

6、通过日志查看执行情况

c598973667842ae63690dfd9b2a1f4f0.png

7、可以用crontab -r删除crontab任务

windows任务计划程序

windows的任务计划程序优点很明显,不用写命令,操作图形化。缺点也明显:需要保持电脑在调度时间不关机以及不能直接跑python脚本,需要把py打包成exe。

首先先说说怎么把python脚本包装成exe程序,这块其实很简单。

1、安装 pyinstaller库

pip install pyinstaller

2、将D盘Data文件夹的run.py打包exe

pyinstaller -F D:Datarun.py

3、生产的exe文件会在自动生成的dist文件夹下

包装好exe后,说说windows任务计划程序怎么用?

1、打开任务计划程序

右键计算机管理任务计划程序

5cd9457e5fd02a86a48a89c0ca38e103.png

2、创建基本任务

创建基本任务输入任务名称 触发器(选择触发时间或触发规则)

操作(选择启动程序/发送电子邮件/显示消息,由于我们是运行py脚本,所以选择启动程序) → 启动程序(选择python脚本的exe) → 完成

70b09446682656b27ae663b4d49cd627.png

8b08dc9a53e2c2eca89e3955fbc1556a.png

两种调度方法已总结完毕,感谢阅读!

一个记录会计到数据、算法路上所学的微信公众号:Dathon

编程技能篇正逐渐完善

小匿:数据分析师所需的编程技能 : Html篇​zhuanlan.zhihu.com
3dbf3ffd91d208f365d99ecd208b6292.png
小匿:数据分析师所需的编程技能 : CSS篇​zhuanlan.zhihu.com
a3ca2a91cf92d4974899cf2a7b85bf9d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值