linux使用shell脚本定时执行python代码

linux使用shell脚本定时执行python代码

2023年7月21日发(作者:)

linux使⽤shell脚本定时执⾏python代码在linux上设置定时任务或者使⽤shell脚本都可以执⾏python代码;其中定时任务的设置在命令 中可以查看和设置。假设⽬前有⼀个python脚本:import numpy as npprint('------')aa = [[1,2,3],[4,5,6]]print('aa is:',aa)bb = (aa)print('bb is:',bb)print('------')⽅法⼀:直接在定时任务中设置执⾏ *.py ⽂件,但是要先在python代码中指定解释器路径,该路径会覆盖默认路径。#!/root/anaconda3/envs/my_env/bin/python3import numpy as npprint('------')aa = [[1,2,3],[4,5,6]]print('aa is:',aa)bb = (aa)print('bb is:',bb)print('------')上述代码就是⽂件,需要在第⼀⾏指定执⾏脚本的应⽤。然后,crontab -e 中编辑定时任务,例如(每5分钟执⾏⼀次):*/5 * * * * /home/test_python/ && echo "runing succeed!" >> /home/test_python/ 2>&1如果出现 permission denied 错误,就要先使⽤ chmod u+x 来使得python代码可执⾏。⽅法⼆:使⽤shell脚本进⾏批处理,vim ⽂件#!/bin/bashvardate=$(date +%c)cd /home/test_python./ && echo "${vardate}: runing succeed!" >> /home/test_python/ 2>&1然后 chmod u+x ,命令⾏也可直接执⾏:sh 或者./设置定时任务 crontab -e,则可以更简单(因为很多设置或者输⼊输出都可以在 *.sh ⽂件中):*/5 * * * * /home/test_python/注意:此时的 ⽂件还是⽅法⼀中的,在第⼀⾏有写python解释器位置。⽅法三:如果在⽂件中没有指定第⼀⾏的python解释器,⽽是直接使⽤ /bin/bash,则 *.sh ⽂件中需要⽤绝对路径指定python路径。此时python代码是纯python⽂件 test_:import numpy as npprint('------')aa = [[1,2,3],[4,5,6]]print('aa is:',aa)bb = (aa)print('bb is:',bb)print('------')那么,test_ ⽂件就要写:#!/bin/bashcd /home/test_python/root/anaconda3/envs/my_env/bin/python3 test_ && echo "runing succeed!" >> /home/test_python/test_ 2>&1然后赋予执⾏权限:chmod u+x test_设置定时任务:*/5 * * * * /home/test_python/test_

附加:如果要命令⾏执⾏ hive 或 spark-sql 脚本(例如要设置定时任务,操作hive表),可在 *.sh ⽂件中使⽤:hive -e "insert into ...... "或者spark-sql -e " insert into ...... "等命令。#

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689930452a295235.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信